android更改按钮颜色设置吗,android – 更改按钮的启用颜色,而不更改禁用的颜色...

所以我研究了很多,有很多问题和答案谈论按钮和颜色.

但在你投票之前看到这个问题更具体,更实际,我没有找到答案.

我正在使用元素Button作为我的xml布局.来自android.widget的Button类,它扩展了TextView.

此视图可以通过java代码标记为启用或禁用. .setEnabled(TRUE | FALSE).

按钮xml代码

android:id="@+id/maps_list_save_button"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:text="@string/str_save"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent" />

我想要的是什么:

2ad7f251cd1a952debbd588a12fd5890.png当我的按钮启用时,我想给他一个紫色.

3be5755aafe21dd2ea61471fee914d06.png当我的按钮被禁用时,获得灰色.

我不想做的事:

创建一个新元素并包含布局,我正在避免这个,因为我想保留选定的动画,提升,填充,提升等.再创建一切并不聪明.

我已经尝试过:

更改背景=它松开内部填充,什么使按钮更大,我想保持材料设计“规则”

762c2af4a835b538237df9daa578f583.png35efdfbe1474a7d0571b59c0eff5fe39.png

更改主题=我尝试通过编辑器和代码更改主题,但发生了两件事:或者我更改了不是按钮的更多内容,或者我更改了相同颜色的启用和禁用.

即使在寻找文档,我也没有找到如何正确使用这个元素.

解决方法:

你需要的是改变android:colorAccent值,特别是Button.这可以通过将一个主题应用于Button来实现.

在styles.xml中引入了以下更改:

#8654e2

然后在xml文件中声明以下两个按钮,其中第一个按钮具有启用状态,第二个按钮具有禁用状态.

style="@style/Widget.AppCompat.Button.Colored"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button 1"

android:theme="@style/PurpleTheme" />

style="@style/Widget.AppCompat.Button.Colored"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:enabled="false"

android:text="Button 2"

android:theme="@style/PurpleTheme" />

注意,按钮应用:

> style =“@ style / Widget.AppCompat.Button.Colored”

> android:theme =“@ style / PurpleThemeOverlay”

然后你会得到以下输出:

d34c15c894c41dccc0fa4d4661fe1b38.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值