有没有办法定义包含一堆图像的android drawable,只使用xml?

时间:2012-06-18 13:07:12

标签: java android android-layout

我想在Layout XML中使用一组2个图像层作为背景。

我猜我能做到:

  1. 使用代码,可以通过扩展ImageView / Canvas / Drawable,这是我试图避免的。
  2. 使用布局XML,带有2个嵌套布局,每个图层图像作为背景。或者包含2个ImageViews的FrameLayout。
  3. 但是,我想知道是否有另一种使用XML定义drawable的方法(就像我使用XML定义一个动画集一样)。

    这样的事情:

    mylayout.xml

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/2_image_layer_drawable" >
    

    2_image_layer_drawable.xml [imaginary]

       <Set>
           <drawable src="@image_layer_back"/>
           <drawable src="@image_layer_front"/>
       </Set>
    

    有没有?

2 个答案:

答案 0 :(得分:2)

使用layer-list和两个Bitmap(带有这些图片)drawables作为孩子。 例如:

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

    <item>
        <bitmap android:src="@drawable/ic_launcher" />
    </item>
    <item>
        <bitmap android:src="@drawable/ic_launcher" />
    </item>

</layer-list>

答案 1 :(得分:0)

你在说这个:

使用.xml文件保存以下代码:

<?xml version = "1.0" encoding = "utf-8" ?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@image_layer_back" />
    <item android:state_focused="true" android:drawable="@image_layer_back" />
    <item android:state_selected="true" android:drawable="@image_layer_back" />
    <item android:drawable="@image_layer_front" />
</selector>