按下按钮和两个图像xml android

时间:2017-01-23 13:42:51

标签: android xml android-layout button

我有两张照片。一个是数字,另一个是影子。我需要在第二张照片中看到这两张图片。

这是我的代码。现在它只显示或显示数字(未按下时)或阴影(按下时)。

当用户按下按钮时,如何显示两个图像?

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

    <item android:drawable="@drawable/button_select" android:state_pressed="true"
        android:alpha="0.75"/>
    <item android:drawable="@drawable/number_1" android:state_enabled="true" />

    <item android:drawable="@drawable/number_1" android:state_pressed="false"
        />
</selector>

this are the two images

this is the goal

此外,我尝试以这种方式使用layerDrawable,但是没有用:

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

    <item android:drawable="@drawable/button_select" android:state_pressed="true"
        android:alpha="0.75"/>
    <item android:drawable="@drawable/number_1" android:state_enabled="true" />
</selector>

</item>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/number_1" android:state_pressed="false"
        />
</selector>
</layer-list>

3 个答案:

答案 0 :(得分:0)

你应该使用两个不同的图像......

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/pressed_image" android:state_pressed="true"/>
    <item android:drawable="@drawable/normal_image" android:state_pressed="false"/>
</selector>

答案 1 :(得分:0)

您可以使用相对布局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <ImageView
        android:id="@+id/iv_background"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_select"/>
    <ImageView
        android:id="@+id/iv_img"
        android:layout_width="wrap_content"
        android:padding="5dp"
        android:layout_height="wrap_content"
        android:background="@drawable/number_1"/>

</RelativeLayout> 

只需更改iv_img id GOOD LUCK

的图像

答案 2 :(得分:0)

请使用此代码更改drawable选择器文件..

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
    <layer-list>
        <item android:drawable="@drawable/number_1" />
        <item android:bottom="@dimen/margin_5" android:left="@dimen/margin_5" android:right="@dimen/margin_5" android:top="@dimen/margin_5">
            <bitmap android:src="@drawable/button_select" />
        </item>
    </layer-list>
</item>
<item android:drawable="@drawable/number_1" android:state_pressed="false"/>

限制::

它可以用于数字的单个图像..对于多个数字,你必须为每个数字创建不同的selector.xml。

请告诉我们是否需要更多解释或帮助..