Notice
Recent Posts
Recent Comments
Link
관리 메뉴

설.현.아빠

XML로 만드는 Android의 Shape Drawable 본문

안드로이드/Image

XML로 만드는 Android의 Shape Drawable

설.현.아빠 2011. 2. 11. 10:36

안드로이드(Android)에는 Shape Drawable이라는 것이 있습니다. 코드상에서 다양한 모양의 Drawable 을 만들 수 있는 방법도 제공하지만 XML로 쉽게 배경이미지를 만드는데도 사용합니다. 실제 비트맵을 사용하지 않아도 되므로 apk의 용량도 줄여주고 쉽게 모양을 바꿀수도 있으니 편리합니다. 그런데 아직 제대로 문서화되어있지 않지만 활용도가 높아서 정리해놓습니다.

2.    <solid android:color="#FF0000FF"/>
3.    <stroke android:width="4dp" android:color="#FFFFFFFF"
4.            android:dashWidth="1dp" android:dashGap="2dp" />
5.    <padding android:left="7dp" android:top="7dp"
6.            android:right="7dp" android:bottom="7dp" />
7.    <corners android:radius="4dp" />
8.</shape>

res/drawable/some_name.xml 으로 저장하면 다른 Bitmap Drawable과 동일하게 사용할 수 있습니다. 

solid       : 단색으로 채워넣습니다.
stroke     : 테두리를 그려넣습니다. dashWidth와 dashGap은 점선을 그릴 때 사용합니다.
corners  : 가장자리를 둥글게 처리합니다.
padding : 패딩

1.<gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"
2.        android:angle="270"/>

gradient를 solid대신 넣을수도 있습니다. 단색이아니라 gradient 효과(서서히 색이 변하는)로 채워집니다.

1.<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
2.    <solid android:color="#00000000"/>
3.    <stroke android:width="4dp" android:color="#99000000"
4.            android:dashWidth="4dp" android:dashGap="2dp" />
5.    <padding android:left="7dp" android:top="7dp"
6.            android:right="7dp" android:bottom="7dp" />
7.    <corners android:radius="4dp" />
8.</shape>

shape를 oval로 지정하면 타원형의 형태로 만들수가 있습니다.

1.<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
2.    <stroke android:width="1dp" android:color="#FF000000"
3.            android:dashWidth="1dp" android:dashGap="2dp" />
4.</shape>

shape를 line으로 지정하여 단순한 선을 만들수도 있습니다.

shapedrawable
XML로 그려진 Drawable들 예제..

http://www.androidpub.com/2113

Comments