Can I use multiple shapes in one Android drawable?

后端 未结 2 1611
太阳男子
太阳男子 2020-12-17 09:50

What I\'m trying to do is define a common background for use in a LinearLayout which frequents my application on many of its Activitys. This particular layout is a header t

相关标签:
2条回答
  • 2020-12-17 10:26

    Drawable accepts multiple shapes, (defined always in others files) if i understand your question maybe you can do a Layer drawable (this draws multiple underlying drawables on top of each other)

    i write this here, so, i dont tested, but try this and read this fantastic documentation.

    <?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

    cheers

    0 讨论(0)
  • 2020-12-17 10:31

    Use gravity to set your items in layer-list.

        for vertical orientation use:
        android:gravity="top"
        android:gravity="center"
        android:gravity="bottom"
    
        for horizontal orientation use:
        android:gravity="left"
        android:gravity="center"
        android:gravity="right"
    
    <layer-list
               xmlns:android="http://schemas.android.com/apk/res/android">
              <item>
                    <bitmap
                       android:src="@drawable/top_img"
                       android:gravity="top"/>
              </item>
              <item>
                    <bitmap
                       android:src="@drawable/center_img"
                       android:gravity="center"/>
              </item>
              <item>
                    <bitmap
                       android:src="@drawable/bottom_img"
                       android:gravity="bottom"/>
              </item>
    </layer-list>
    

    Be sure that the parent element has enough space to hold all the items! Otherwise they will overlap each other

    0 讨论(0)
提交回复
热议问题