안드로이드 개발 정보
(글 수 568)
안드로이드(Android)에는 Shape Drawable이라는 것이 있습니다. 코드상에서 다양한 모양의 Drawable 을 만들 수 있는 방법도 제공하지만 XML로 쉽게 배경이미지를 만드는데도 사용합니다. 실제 비트맵을 사용하지 않아도 되므로 apk의 용량도 줄여주고 쉽게 모양을 바꿀수도 있으니 편리합니다. 그런데 아직 제대로 문서화되어있지 않지만 활용도가 높아서 정리해놓습니다.
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FF0000FF"/> <stroke android:width="4dp" android:color="#FFFFFFFF" android:dashWidth="1dp" android:dashGap="2dp" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <corners android:radius="4dp" /> </shape>
res/drawable/some_name.xml 으로 저장하면 다른 Bitmap Drawable과 동일하게 사용할 수 있습니다.
solid : 단색으로 채워넣습니다.
stroke : 테두리를 그려넣습니다. dashWidth와 dashGap은 점선을 그릴 때 사용합니다.
corners : 가장자리를 둥글게 처리합니다.
padding : 패딩
<gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF" android:angle="270"/>
gradient를 solid대신 넣을수도 있습니다. 단색이아니라 gradient 효과(서서히 색이 변하는)로 채워집니다.
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#00000000"/> <stroke android:width="4dp" android:color="#99000000" android:dashWidth="4dp" android:dashGap="2dp" /> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <corners android:radius="4dp" /> </shape>
shape를 oval로 지정하면 타원형의 형태로 만들수가 있습니다.
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:width="1dp" android:color="#FF000000" android:dashWidth="1dp" android:dashGap="2dp" /> </shape>
shape를 line으로 지정하여 단순한 선을 만들수도 있습니다.
XML로 그려진 Drawable들 예제..