android文字变色
1. Android状态栏字体颜色怎么改变
android4.4 以下修改状态栏颜色的方法为:
1、首先会懂得反编译,电脑上要安装java环境和反编译工具。没有的网络搜索下载安装。这里就不多说了。
2、要准备一个framework-res.apk放在一边待用,把framework-res.apk复制到反编译工具里、反编译framework-res.apk后打开res\values\styles.xml。
3、直接搜索以下代码
<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
你会看见<style name="TextAppearance.StatusBar" parent="@style/TextAppearance">
<item name="textSize">14.0sp</item>
<item name="textStyle">normal</item>
<item name="textColor">?textColorPrimary</item>
</style> 然后修改这一段代码<item name="textColor">?textColorPrimary</item> 为 <item name="textColor">#ff000000</item>
000000为颜色代码 想要什么颜色就修改成自己喜欢的颜色就可以了 颜色对照表可以参考 http://www.59178.com/tools/sejie.asp
4、然后回编译。回编译完成后用电脑上的压缩软件打开回编译好的framework-res.apk,拖出里面的resources.arsc替换进事先准备好的framework-res.apk里就可以了。然后用复制到内存卡 用RE复制或者移动到system里 修改权限 3 1 0,在移动到framework里覆盖就可以了。关机重启,状态栏的通知内容颜色也变了。
2. Android 中 textview点击改变文字颜色 并在点击另一个textView时变回原来的颜色
private TextView mTextDisp; mTextDisp = (TextView) findViewById(R.id.textDisp_mian); mTextDisp.setTextColor(R.color.red);(使用color.xml文件中的颜色值) 这样写是怎么也变不成红色的,而且程序不报错,不知道朋友们有没有试过。而且debug所走的分支也是正确的。 我就单独写了一个Demo来测试,结果还是灰显。 有的朋友要说,是不是red的颜色值写错了。不是,color中的颜色值配置对着呢。 其实,答案很简单,就错在mTextDisp.setTextColor(R.color.red);这行代码上。 首先,在xml中不要写默认的字体颜色值,即android:textColor="xxx" 其次,在activity中mTextDisp.setTextColor(context.getResources().getColor(R.color.red));(使用color.xml文件中的颜色值) 这样就OK了。或者直接使用Color类中的值:mTextDisp.setTextColor(Color.RED);(使用系统自带的颜色类Color类中的颜色值)。
3. Android沉浸式状态栏 如何改变状态图标和文字的颜色
在Android4.4设备上支持沉浸式状态栏,只需要添加values-v19/styles.xml 下添加
?
1
2
<code class="language-xml hljs "><style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.NoActionBar" type="text/css"><item name="android:windowTranslucentNavigation">false</item>
<item name="android:windowTranslucentStatus">true</item></style></code>
然后在可以扩展的控件添加属性android:fitsSystemWindows="true"
就阔以了。
但在MIUI V6下如果扩展的颜色比较浅,会导致状态栏的文字无法看清。在其他ROM上会有渐变的灰色区域。
MIUI提供了新的解决方案,在MIUI V6上状态栏支持灰黑色和白色两种字体颜色,开发者可以直接设置当前界面状态栏的文字颜色。
具体代码:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<code class="language-java hljs ">/**
* 只支持MIUI V6
* @param context
* @param type 0--只需要状态栏透明 1-状态栏透明且黑色字体 2-清除黑色字体
*/
public static void setStatusBarTextColor(Activity context,int type){
if (!isMiUIV6()){
DebugLog.d("isMiUIV6:"+false);
return;
}
DebugLog.d("isMiUIV6:"+true);
Window window = context.getWindow();
Class clazz = window.getClass();
try {
int tranceFlag = 0;
int darkModeFlag = 0;
Class layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_TRANSPARENT");
tranceFlag = field.getInt(layoutParams);
field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
darkModeFlag = field.getInt(layoutParams);
Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
if (type == 0){
extraFlagField.invoke(window, tranceFlag, tranceFlag);//只需要状态栏透明
}else if(type == 1){
extraFlagField.invoke(window, tranceFlag | darkModeFlag, tranceFlag | darkModeFlag);//状态栏透明且黑色字体
}else {
extraFlagField.invoke(window, 0, darkModeFlag);//清除黑色字体
}
}catch (Exception e){
}
}
private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name";
private static boolean isMiUIV6() {
try {
final BuildProperties prop = BuildProperties.newInstance();
String name = prop.getProperty(KEY_MIUI_VERSION_NAME, "");
if ("V6".equals(name)){
return true;
}else {
return false;
}
// return prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null
// || prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null
// || prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null;
} catch (final IOException e) {
return false;
}
}</code>
4. 手机桌面字体颜色怎么改
参考下面方法处理:
操作工具:华为mate30。
1、首先点击手机桌面上的【设置】图标,如图所示。
5. App登录界面----布局篇
我自学了3个月的Android基础,居然一个App都做不出来。在我之前学的同时居然忘记了之前学的内容。所以我现在重新开始复习,这篇文章将是我复习的开始也是基础的稳固,同时也是将来记不得了可以自我回顾的笔记。首先是从App登录开始。
首先第一是布局,登录界面布局那就要用到控件,登录界面所需控件如下:
1.姓名 输入框 密码 输入框:就要有Textview文本控件 X 2, Editview输入文本框控件 X 2
2.立即注册 忘记密码 登录 :就要有Button控件 X 3
既然要布局就要有布局控件:可以用RelativeLayout相对布局,LinearLayout线性布局,TableLayout表格布局,FrameLayout帧布局,AbsoluteLayout绝对布局。我要选用就就是前两个布局:RelativeLayout相对布局或者LinearLayout线性布局。
这就是我最终预想所要达到的效果:
首先打开布局文件:展开app--->res--->layout--->activity_main.xml
切换到设计模式Design:
然后从调色板Palette就是控件库拖拽出所需控件:
2个Textview,2个Editview ,3个Button.一开始布局控件就是相对布局控件,RelativeLayout相对布局控件允许通过指定显示对象相对于父容器或其他兄弟控件的相对位置结合margin,padding来进行布局。
然后我们再切换回文本模式Text:
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>这就组成了一个控件。
再来解释解释RelativeLayout相对布局控件是啥意思:
上图所表现的意思就是RelativeLayout相对布局控件的特点:TextView文本控件基于父容器(RelativeLayout相对布局控件)之下,再看图:
它会自动添加默认属性:android:text="文本控件"//这是文本属性可以输入文字
android:textSize="50dp"//这是文本大小属性是控制text属性的大小
android:layout_width="wrap_content"//这是宽,选择的自适应屏幕
android:layout_height="wrap_content"这是高。
android:layout_marginTop="253dp"// 重点就在这里了:在RelativeLayout相对布局下拖出的控件会有这条属性,意思是TextView相距父容器253dp的距离
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
好了我们继续:我写的这个布局呢?只用了两个EditView控件和三个Button控件。先说EditView控件。
拖拽出来改好了各种属性但是和我的不一样,哪里不一样?有边框,边框还是圆角。怎么弄的?这是改变了它的样式。首先目录找到drawable文件按下Alt+lns键,点击Drawable resource file
那就会弹出下面这个框框好创建资源文件,File name:这是资源文件的名字,Root element:这是需要创建什么类型的资源文件。
假如没有出现这个对话框而是另外的对话框就请更换模式
将Android 目录模式切换成Project目录模式
找到drawable文件重复上面操作就会出现
名字就自己取吧,类型选择shape文件
这就是我为EditView设置的资源文件,那么怎么加载它呢?
用背景background属性来加载:@drawable/border用@选择文件位置加载就成功了。
文本框就做好了。噢!!!等等还有个属性android:hint="登录"还没介绍,这是提示语:比如请输入用户名,请输入密码,这样的提示语,只起到提示作用。范例:android:hint="请输入用户名"
好吧依次类推,Button按钮也是这样。我们先来看忘记密码,立即注册两控件这两我没这样加载资源文件,我只用了3条属性,
android:background="@null"//这条意思是背景设置路径为空,作用是消除边框。
android:shadowColor="#338AFF"//改变按钮背景颜色,让它看起来和相对布局背景融为一体。
android:textColor="#0066CC"//改变文字颜色
怎么样是不是和QQ登录界面的差不多
那再来看立即登录按钮,这个按钮我用了三个资源文件,为了让按钮按下抬起有一个变色效果,能够反馈用户视觉:您已按下按钮。
首先看按下的资源文件:
这是按下的模样,radius是设置圆角,然后是按下后的颜色。
再来看抬起:
这是抬起时候的样子,圆角按下抬起都要设置一样,不然按下是一个样,抬起又是另一个样子,然后是抬起的颜色。
这是两个资源文件,如何让按钮呈现出按下抬起的不同效果呢?
就需要另一个资源文件来操控:selector资源文件
由他来控制这两个资源文件:
<item/>这是资源文件的标签,包括shape资源文件的:<corners/><solid/>都是标签
标签<item/>里面
android:drawable="@drawable/clickroundedcolor"//是加载按下资源文件,
android:state_pressed="true"//true就是对,就是一个判断作用,判断是否按下,按下就加载按下的资源文件
然后再一个子标签<item/>
<item android:drawable="@drawable/roundedcolor"/>也就是说当上面pressed不为true的时候执行下面这个标签加载抬起状态的效果。
这就做成了按下深蓝抬起浅蓝的颜色效果。那今天就到这里,复习到了什么Editview Button控件的使用然后在原来的基础上学到了EditView 和Button控件的UI设计一些细节效果。
还熟悉了Android studio。之前用Eclipse学习的Android,现在改用AS还特别不习惯,希望复习后我会熟练Android studio。恩,还有看到忘记密码,立即注册两个按钮是不是还会联想到还有两个布局。没错,忘记密码和立即注册这两个布局文件,就不用记录了,相信会了登录主界面布局,其他两个不在话下。
6. 安卓系统手机怎么改变屏幕字体颜色
手机系统字体的颜色默认为黑色。若想要改变字体颜色,可以进入i主题--精选--右上角搜索--选择字体--搜索“炫彩”,下载喜欢的颜色使用(部分字体需付费购买)。