2011-01-19 11 views
15

내가하려고하는 것은 많은 Activity에서 내 애플리케이션을 자주 사용하는 LinearLayout에서 사용하기위한 공통 배경을 정의하는 것이다. 이 특정 레이아웃은 각 활동의 상단에 표시되는 헤더입니다.하나의 Android 드로어 블에서 여러 셰이프를 사용할 수 있습니까?

내가하려는 것은 선형 레이아웃을 그라데이션으로 채우고 그라디언트 아래에 수평선이있는 드로어 블을 만드는 것입니다.

이것이 가능한지 아는 사람이 있습니까, 아니면 중첩 된 레이아웃에서만 이런 종류의 작업을해야합니까? 드로어 블 XML attemptat

내는

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:startColor="#AA000000" android:endColor="#AA333333" 
     android:angle="270" /> 
</shape> 
</item> 
<item> 
<shape android:shape="line"> 
    <stroke android:width="3dp" android:color="#FFFFFFFF" 
      android:dashWidth="1dp" android:dashGap="2dp" /> 
    <size android:height="5dp" /> 
</shape> 
</item> 
</selector> 

답변

30

그리기가 (다른 파일에 항상 정의) 여러 모양, 나는 당신의 질문을 이해한다면 아마도 당신이 위에 여러 기본 드로어 블을 그립니다 (레이어 드로어 블을 할 수있는이 허용됩니다 서로)

나는 이것을 여기에 적었습니다. 그래서 테스트를 해보지 않았지만 이것을 시도하고이 환상적인 문서를 읽으십시오.

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

the android complete xml resources

환호

+25

는합니다 (Y 좌표에서) 그들 아래 다른 하나를 설정하는 것도 가능하다? –

+1

각 항목에 안드로이드 네임 스페이스를 추가하십시오. 그리고 완벽한 – Philiiiiiipp

+1

좋은 지적 @Philiiiiiipp. 그러나 레이어 목록에 네임 스페이스를 추가하면 목록의 각 항목에 네임 스페이스를 추가하는 것만으로 충분합니다. 이렇게 : . – MemoryLeak

관련 문제