gpt4 book ai didi

android - 通过样式更改背景颜色

转载 作者:行者123 更新时间:2023-11-30 03:34:50 25 4
gpt4 key购买 nike

我有一个图像按钮,我想在按下时更改按钮的颜色。首先,我用 transparent 作为默认状态颜色显示它,如下所示。但是按下时它不会突出显示。所以我决定在使用状态可绘制对象按下时使用其他颜色突出显示。但是如何通过样式明智地保持背景颜色。意味着默认情况下它应该是透明的,按下时它必须显示其他颜色。

当前代码:

<ImageButton 
android:id="@+id/imgbutton"
android:layout_width="20dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:src="@drawable/ic_launcher"
android:background="@android:color/transparent"
/>

需要编码:

<ImageButton 
android:id="@+id/imgbutton"
android:layout_width="20dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:src="@drawable/ic_launcher"
android:background="@drawable/btnselector"
/>

那么这里的btnselector.xml应该是什么?

最佳答案

把它放在res/color

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

<item android:state_pressed="true" android:color="@color/green_text_color"/> <!-- pressed -->
<item android:state_focused="true" android:color="@color/green_text_color"/> <!-- focused -->
<item android:color="@android:color/white"/> <!-- default -->

</selector>

在 res/drawable 中创建一个新形状

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/yourxmlfile" />
</shape>

并将其作为背景

res/drawable选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/green_botton_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/green_botton_highlited"
android:state_focused="true" />
<item android:drawable="@drawable/green_botton" />

</selector>

关于android - 通过样式更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com