【问题标题】:Background xml not working后台xml不起作用
【发布时间】:2013-02-09 13:35:37
【问题描述】:

我有按钮,我想为它们设置背景 xml,当用户按下任何按钮我想改变它的背景时,我就像这样工作

<Button
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textColor="#FFFFFF"
                android:gravity="center"
                android:background="@drawable/button_selector"
                android:text="@string/b_cancel" />

button_selector.xml

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

    <item android:drawable="@drawable/button_bg" android:state_pressed="false" android:state_selected="false"/>
    <item android:drawable="@drawable/button_bg_hover" android:state_pressed="true"/>
    <item android:drawable="@drawable/button_bg_hover" android:state_pressed="false" android:state_selected="true"/>

</selector>

button_bg.xml

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

    <padding android:top="10dip"
        android:bottom="10dip"/>



    <!-- Gradient Bg for listrow -->
    <gradient
        android:useLevel="false"
        android:angle="270"
        android:centerColor="#000000"
        android:endColor="#FFFFFF"
        android:startColor="#808080" />
</shape>

button_bg_hover.xml

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

    <padding
        android:bottom="10dip"
        android:top="10dip" />

    <!-- Gradient Bg for Button -->
    <gradient
        android:angle="270"
        android:centerColor="#000000"
        android:endColor="#FF0000"
        android:startColor="#808080" />

</animation-list>

它作为背景效果很好,但是当我按下按钮时它变成全白,启发了我的 button_bg_hover,为什么 pelase?什么是正确的?

【问题讨论】:

    标签: android android-xml android-button


    【解决方案1】:

    可能是-tag放错了,换行

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

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

    【讨论】:

    • 我把它放在最后,仍然出现白色背景
    • 可能动画列表标签放错了,应该是形状
    • 我想念shape,我会接受yoru ansewr,请问这是将填充放在后台的好方法吗?因为当我删除它时,按钮变得如此之小
    • 取决于背景的含义,我通常在按钮本身上声明我的填充。但我不确定是否有区别
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 2016-02-09
    相关资源
    最近更新 更多