Android的supportV7中默认按钮的颜色设置

Android的supportV7中默认按钮的颜色设置,第1张

我们知道,在styles.xml文件里面可以设置主题,在主题中设置的一些颜色,将会应用到默认的AppCompat控件上,从而很简单的就可以保持整个APP在UI上的一致性。下面是一个例子:

至于各种控件是如何应用这些颜色设置的,则需要经过更多的尝试了。

比如Activity导航栏默认的图标颜色是colorControlNormal,导航栏的底色是colorPrimary,沉浸式状态栏默认的颜色是colorPrimaryDark;

比如FAB的默认颜色是colorAccent;

比如AppCompatCheckBox默认的选中状态的颜色是colorAccent,而默认的未选择状态的颜色的colorControlNormal;

比如AppCompatSpinner的下拉图标的默认颜色也是colorControlNormal。

......

其实涉及到的主要的就是下面这几个参数:

那么问题来了,如果你使用蓝色的沉浸式状态栏,导航栏上的图标则使用白色,那在这个Activity中使用AppCompatCheckBox的时候,未选择状态就也是白色的,此时如果在白色的背景色下,用户就看不出这是个AppCompatCheckBox了。这时候怎么办?如下图(图中使用的是AppCompatSpinner):

其实很简单,在这个AppCompatCheckBox上使用app:theme="@style/MyCheckBox",然后在styles.xml中添加新的

但是需要注意的是,这样可能引起控件其他默认属性的变化,比如CheckBox的textSize会变成1(不使用app:theme的时候和APP的默认字体大小一样)。

android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决

一般来说,安卓按钮颜色与背景要保持一致,这样才能让用户感到界面美观、统一、简洁。一般来说,可以使用深色的按钮颜色,比如黑色、深灰色、深蓝色等,而背景可以使用浅色,比如白色、浅灰色、浅蓝色等。这样才能让用户感到界面美观、统一、简洁。

在安卓应用程序开发过程中,有时需要监听输入框内文字改变的动态 *** 作。比如当输入框内有文本内容输入时,如果满足某些条件,我们需要动态改变按钮颜色。以下是一种常见的实现方法,大致流程为:

1. 给输入框设置监听器,当输入框内的文字改变时触发监听事件。

2. 在监听事件中判断输入框的文本内容是否满足某些条件。

3. 如果满足条件,改变按钮颜色;如果不满足条件,恢复按钮颜色为原始状态。

具体实现方法如下:

1. 给输入框设置监听器:

```

editText.addTextChangedListener(textWatcher)

```

2. 定义监听事件:

```

private TextWatcher textWatcher = new TextWatcher() {

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after) {

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

//文字改变时触发

if (s.length() >0) {

//如果输入框内有文本内容

if (满足条件) {

//如果满足某些条件

button.setBackgroundColor(颜色1)//改变按钮颜色

} else {

//如果不满足条件

button.setBackgroundColor(颜色2)//恢复按钮颜色

}

} else {

//输入框内无文本内容

button.setBackgroundColor(颜色2)//恢复按钮颜色

}

}

@Override

public void_


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11918768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存