Android边框较少按钮按了状态背景颜色

时间:2012-12-27 19:22:48

标签: android android-layout android-ui android-button

当按下按钮时,我们如何更改Border less按钮的背景颜色。

我用过这个:

    android:background="?android:attr/selectableItemBackground"
    android:text="@string/btn_skip" 

我的按钮显示我的“strings.xml”中定义的标签“SKIP”。

现在当我测试它时它是好的除了它在按下状态时显示默认的“蓝色”颜色。 我希望它与我的“我的UI”主题的其他元素“Orange”“#FF8800”

相匹配

任何想法?

提前谢谢......!

4 个答案:

答案 0 :(得分:3)

而不是使用?android:attr / selectableItemBackground,您可以使用以下内容在drawable文件夹中创建一个xml。

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

<item 
    android:state_pressed="true"
    android:drawable="@color/orange"/>
<item 
    android:state_enabled="false"
    android:drawable="@color/default"/>
<item
    android:drawable="@color/default"/>

</selector>

更新: 所以你将这些文件保存为:btn_drawable.xml在drawable文件夹中。

只需替换?android:attr / selectableItemBackground 即可 与*@drawable/btn_drawable.xml *

答案 1 :(得分:2)

谢谢@Nimish-Choudhary ......!我听从你的建议。而且我已经进一步解释了所有与初学者有同样问题的人。

创建一个名为“btntransparent.xml”

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

<item 
    android:state_pressed="true"
    android:drawable="@color/pressed"/>
<item 
    android:state_enabled="false"
    android:drawable="@color/defaultColor"/>
<item
    android:drawable="@color/defaultColor"/>

</selector>

接下来将“按下”和“defaultColor”颜色添加到另一个xml说“colors.xml”

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="pressed">#CCFF8800</color>
    <color name="defaultColor">#00000000</color>
</resources>

此处“#CCFF8800”是我按下的状态半透明橙色“#00000000” 100%透明黑< / em>(;-)那是不可见的)。您可以在Color| Android Developers

找到有关颜色代码的更多信息

现在将“colors.xml”放入文件夹中,将“btntransparent.xml”放入 drawable 中文件夹中。

现在最后一步是在按钮中使用它

<Button
            android:id="@+id/id_btn_skip"
            android:background="@drawable/transparentbtn"
            android:onClick="skipToMain"
            android:text="@string/btn_skip" />

那应该可以胜任......!

小心。
问候,
raisedadead

答案 2 :(得分:0)

如果我理解正确,您可以做的是在@drawable中添加新资源,例如my_ripple.xml

<?xml version="0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
     android:color="#FF8800">
</ripple>

然后只需将其设置为您的背景。

答案 3 :(得分:-2)

在您的主题中添加以下内容:

<item name="android:selectableItemBackground">#FF8800</item>

覆盖默认的蓝色。