2011-09-01 2 views
14

나는 배경으로 다음 당김 세트를 가지고 :안드로이드, 배경, 레이어 목록과 확장 성을 비트 맵 항목

<?xml version="1.0" encoding="utf-8"?> 
<layer-list 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<item> 
    <bitmap android:src="@drawable/base_bg" 
    android:gravity="bottom" /> 
</item> 
<item android:top="10dp" android:left="10dp"> 
    <bitmap android:src="@drawable/decoration1" 
    android:gravity="top|right" 
    android:width="25dp" 
    android:height="25dp" /> 
</item> 
<item android:top="10dp" android:left="10dp"> 
    <bitmap android:src="@drawable/decoration2" 
    android:gravity="top|right" 
    android:width="25dp" 
    android:height="25dp" 
    /> 
</item> 
</layer-list> 

그것은 모든 비트 맵 (base_bg, decoration1decoration2)를 표시하지만 난 찾을 수 없습니다 그 (것)들의 크기를 변경하는 방법. 나는 주요 배경을 가지고 있고 그 위에 dpi를 기반으로 한 다양한 크기의 장식을하고 싶습니다. 그걸 할 수있는 간단한 방법이 있습니까, 아니면 실제로 다른 dpi의 "데코레이션"을 가져야합니까? 그것은 좋지 않다 그리고 대신 규모/크기 조정 옵션을 갖고 싶습니다!

android:widthandroid:height 속성은 내가 찾고자하는 것이지만 작동하지 않는다는 것을 알고 있습니다. 지금은 다른 DPI에 다른 버전을 사용하고 있지만 좀 더 사용자 친화적 일 수 있기를 희망합니다.

+0

아마도 프레임 레이아웃을 고려해야합니다. 그러면 각 뷰를 개별적으로 수정할 수 있습니다. – RichieHH

답변

9

나는이 이미지가 어떻게되는지 모르지만, 예를 들어 큰 이미지를 만들어 android : drawable 항목에 사용할 수 있습니다. 이렇게하면 이미지가 항목의 크기를 차지합니다.

<layer-list 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<item> 
    <bitmap android:src="@drawable/base_bg" 
    android:gravity="bottom" /> 
</item> 
<item android:top="10dp" android:left="10dp" android:drawable="@drawable/decoration1"> 
</item> 
<item android:top="10dp" android:left="10dp" android:drawable="@drawable/decoration2"> 
</item> 
</layer-list> 

다른 솔루션 LayerDrawable (here) 및 드로어 블 (here) 클래스와 프로그래밍을 할 수 있습니다. 3 개의 Drawable Objects로 Layer Object를 구성한 다음 setBounds (Rect) 메서드를 사용하여 각 Drawable 객체에서 올바른 크기를 선택할 수 있습니다.

도움이되기를 바랍니다.

+0

layers [1] .setBounds (4, 4, 4, 4); <- 작동하지 않습니다. -.- –