You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android:修改Button启用状态颜色且不改变禁用状态颜色

Android Button 启用/禁用状态设置指南

嘿,关于Android里android.widget.Button(它本身继承自TextView)的启用和禁用设置,我来给你理清楚具体怎么实现:

1. XML布局代码

先看你提供的Button布局代码,我把未完成的约束部分补全了(你可以根据实际布局需求调整目标):

<Button
    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" />

2. Java代码动态控制状态

在你的Activity或者Fragment里,只需要两步就能搞定:先找到这个Button实例,再调用setEnabled()方法切换状态。

启用Button

// 找到Button控件
Button saveButton = findViewById(R.id.maps_list_save_button);
// 设置为启用状态,此时Button可正常点击交互
saveButton.setEnabled(true);

禁用Button

// 找到Button控件
Button saveButton = findViewById(R.id.maps_list_save_button);
// 设置为禁用状态,此时Button不可点击,系统会自动调整它的外观(比如降低透明度、变灰)来提示用户
saveButton.setEnabled(false);

额外小技巧:如果你希望布局加载完成后Button默认是禁用的,直接在XML里添加android:enabled="false"属性就行,之后再通过Java代码随时切换状态。

内容的提问来源于stack exchange,提问作者Canato

火山引擎 最新活动