<?xml version=”1.0” encoding=”utf-8”?> <clip xmlns:android=”http://schemas.android.com/apk/res/android” android:drawable=”@drawable/drawable_resource” android:clipOrientation=[”horizontal” | ”vertical”] android:gravity=[”top” | ”bottom” | ”left” | ”right” | ”center_vertical” | ”fill_vertical” | ”center_horizontal” | ”fill_horizontal” | ”center” | ”fill” | ”clip_vertical” | ”clip_horizontal”] />
- android:drawable : Drawable resource을 참조하여 이미지를 설정한다.
- android:clipOrientation : 이미지를 자르기 위해 이동하는 방향.
- 자를 대고 이미지를 자른다고 생각하고 자가 이동하는 방향을 나타낸다.(좌,우,위,아래)
- android:gravity: 자의 위치가 어느 방향으로 이동할지를 나타낸다.
- android:clipOrientation이랑 틀린 점은 android:clipOrientation은 자가 움직일 수 있는 방향만을 제시했다면 android:gravity에서는 오른쪽에서 왼쪽으로 또는 왼쪽에서 위쪽으로 등과 같이 어디를 기준으로 setLevel() method에서 정해준 수치많큼 이동할 수 있는 방향을 제시한다.
<clip />에서는 자르는 방법을 제공하지 않고 자바 프로그램에서 setLevel()메서드를 이용하여 자르기 된다.
아래는 '안드로이드 개발자 사이트'에 있는 예제 소스이다.
<?xml version=”1.0” encoding=”utf-8”?> <clip xmlns:android=”http://schemas.android.com/apk/res/android” android:drawable=”@drawable/android” android:clipOrientation=”horizontal” android:gravity=”left” />
<ImageView android:id=”@+id/image” android:background=”@drawable/clip” android:layout_height=”wrap_content” android:layout_width=”wrap_content” />
ImageView imageview = (ImageView) findViewById(R.id.image); ClipDrawable drawable = (ClipDrawable) imageview.getDrawable(); drawable.setLevel(drawable.getLevel() + 1000);
<참고>
android:cliporientation="horizontal" 이므로 자르는 위치가 좌우로 움직인다.
android:gravity="left" 이므로 자는 왼쪽으로 움직인다.
위에서도 언급 했듯이 <clip />에서는 자르는 명령이 없다.
자바코드에서 잘라줘야 된다.
drawable.setLevel(drawable.getLevel() + 1000);
이 부분이 자르는 곳이다. <clip />에서 자를 좌우로 움직이며 왼쪽으로 움직이라고 설정해 놨으므로 이 기준을 가지고 위의 자바 코드에서 자를 수 있다.
위에 나온 1000이라는 수치를 자르기 레벨이라 하며 0 ~ 10,000 까지 제공한다. 반을 자를려면 5000을 주면 된다.
관련글
댓글 없음:
댓글 쓰기