android系统颜色
① Android的supportV7中默认按钮的颜色设置
我们知道,在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以下不起作用问题的解决
② 如何更改android设置背景颜色
通常来说,每个界面都对应一个activity。而在activity的View视图中,可以在最外层容器去设置背景图片或背景颜色。
在xml布局里:
android:background="@drawable/img1"
或者
android:background="@color/white"
在java代码里,也可以设置
1
2
3
layout.setBackgroundColor(R.color.white);
layout.setBackgroundDrawable(drawable);
layout.setBackgroundResource(R.drawable.img1);
再者,系统默认的背景色是能过theme来控制的,就是说创建一个activity的背景色,如果在
AndroidManifest.xml文件里有设置如下:
android:theme="@android:style/Theme"
这样设置activity的主题样式,"@android:style/Theme"一般是系统默认的。这个不单是背景色,还有其它的样式,具体可以在网上查一下android:theme的用法。
而"@android:style/Theme"的背景色就是黑色。
③ android颜色渐变如何实现从四周往中心渐变 或者从中心往四周渐变 都行,不是 从左往右
android 颜色渐变是指通知xml或者java代码,设置相关参数,是界面的某个指定的视图显示成从开始位置的颜色,逐渐过度到结尾位置的颜色的技术。
android颜色渐变的分类有:
LinearGradient线性渐变
RadialGradient镜像渐变
SweepGradient角度渐变
一、LinearGradient线性渐变
顾名思义,是只颜色在一个直线方向上逐渐改变。
文件代码:
<?xmlversion="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:endColor="#0000FF"
android:startColor="#FF0000"
android:type="linear"/>
</shape>
效果:
④ android 中#aaa什么颜色
应该是透明的吧,android中颜色一般用的32位RGBA,
#FFFFFFFF是十六进制数,代表白色
如果是#FF FF FF FF
A B G R
分别代表四种值
⑤ Android设置状态栏颜色和状态栏文字、图标颜色
Android开发中,经常需要实现下图状态栏的效果,类似于沉浸式状态栏,但这里仅仅是讨论设置状态栏的颜色和状态栏上面文字、图标的颜色的方法。
Android 4.4(API 19)之后,就提供了修改状态栏颜色的方法,但是在 Android 6.0(API 23)之后,才支持修改状态栏上面的文字和图标颜色,默认是白色的。所以会导致一个问题,在 4.4 到 6.0 之间的系统,状态栏设置为浅色的话,状态栏上面白色的文字和图标会看不清,像下面这样:
有一些第三方的系统提供了设置状态栏和状态栏文字、图标颜色的方法,比如小米的MIUI和魅族的Flyme,所以考虑了下比较好的实现方式是:
当然,这里面也会有坑,比如 MIUI 提供的修改状态栏字体颜色方法会跟 Android 系统自带的方法冲突,官方说明如下: 关于MIUI状态栏字符颜色逻辑调整说明
经过网上的资料和自己的尝试,MIUI 系统还是同时使用 MIUI 提供的方法和 Android 系统自带的方法来修改状态栏字体颜色比较保险。
基于上面的思考,封装了设置 Android 4.4 以上系统状态栏颜色和状态栏字体、图标颜色的方法:
要在 Application Theme 加上 <item name="android:fitsSystemWindows">true</item> ,不然页面会顶到状态栏上面,或者在 Activity 的布局里面加上 android:fitsSystemWindows="true" 和 android:clipToPadding="false" 也可以。
最终实现的效果如下:
大家有更好的方案可以告诉我~
⑥ 如何设置Android Studio背景的颜色
1、首先找到菜单栏,单击菜单栏的“File”菜单
2、在弹出的二级菜单中选中“Settings”选项,单击它,打开设置窗口
3、在设置窗口中的左边部分单击“Editor”选项,展开
4、在展开的下一级菜单中,找到“Colors & Fonts”选项,展开它
5、然后在展开的,菜单中选择“Font”选项,打开Font字体设置窗口
6、在打开的“Font”窗口中,找到“Save As...”按钮,单击它,在弹出的对话框中为自己的设置起一个名字,如果不单击“Save As...”新建一个样式的话,Android Studio默认是不给更改的
7、在弹出的对话框中,输入更改后需要保存的样式的名称,然后单击“OK”
8、接下来就可以进行更改设置了,“Primary font”是更改字体样式,比如“楷体”,“Size”我们可以更改字体的大小,“Line spacing”可以更改行间距
9、更改完成之后单击“Apply”应用更改,然后单击“OK”
⑦ android中设置背景颜色的函数有哪些
TextView tText=(TextView) findViewById(R.id.textv_name);
//第1种:
tText.setTextColor(android.graphics.Color.RED);//系统自带的颜色类
// 第2种:
tText.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。
//第3种:
tText.setTextColor(android.graphics.Color.parseColor(#87CEFA)) ; //还是利用Color类;
//第4种:
tText.setTextColor(this.getResources().getColor(R.color.red));
/*通过获得资源文件进行设置。根据不同的情况R.color.red也可以是R.string.red或者R.drawable.red,
* 当然前提是需要在相应的配置文件里做相应的配置,如(xml 标签):
*
* #FF0000
#FF0000
#FF0000*/