當前位置:首頁 » 安卓系統 » android文字顏色

android文字顏色

發布時間: 2022-09-23 19:29:53

A. 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>

B. 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" 也可以。

最終實現的效果如下:

大家有更好的方案可以告訴我~

C. android中怎樣給button中的字設置顏色

我們可以使用selector來實現Button的特效,如圖所示:

默認情況

獲得焦點的時候

點擊按鈕

main.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按下或者獲得焦點Button會變不同顏色"
<SPAN style="COLOR: #ff0000">android:textColor="@color/button_text" </SPAN>/>
</LinearLayout>
www.2cto.com
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按下或者獲得焦點Button會變不同顏色"
android:textColor="@color/button_text" />
</LinearLayout>

XML 文件保存在res/color/button_text.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true" android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>

背景選擇器-selector

概述
在drawable/xxx.xml中配置,通過配置selector,可以使系統運行時根據控制項對象的狀態使用相應的圖片、文字等。
selector中的常用屬性
android:state_selected 控制項選中狀態,可以為true或false
android:state_focused 控制項獲得焦點狀態,可以為true或false
android:state_pressed 控制項點擊狀態,可以為true或false
android:state_enabled 控制項使能狀態,可以為true或false
android:state_checkable 控制項可勾選狀態,可以為true或false
android:state_checked 控制項勾選狀態,可以為true或false
注意:在狀態描述中,第一個匹配當前狀態的item會被使用。因此,如果第一個item沒有任何狀態特性的話,那麼它將每次都被使用,所以默認的值必須總是在最後。
android:window_focused 應用程序窗口焦點狀態,可以為true或false
android:color 定義特定狀態的顏色
#rgb
#argb
#rrggbb
#aarrggbb
為16進制顏色。這個顏色由rgb值指定,可帶alpha,必須以」#「開頭,後面跟隨alpha-red-green-blue信息,格式可以為:
使用selector設置背景
把下面的XML保存成.xml文件(比如list_item_bg.xml),運行時系統會根據ListView中列表項的狀態來使用相應的背景圖片。
drawable/list_item_bg.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默認時的背景圖片 -->
<item android:drawable="@drawable/pic1" />

<!-- 沒有焦點時的背景圖片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />

...

D. 如何設置android字體顏色

如果代碼裡面的話,倒是可以載入相應的字體,如果是系統的話,需要下載一些軟體haiyaoyouroot的許可權。

E. android指定文字修改顏色

textView=(TextView)findViewById(R.id.textview);
SpannableStringBuilderbuilder=newSpannableStringBuilder(textView.getText().toString());
//ForegroundColorSpan為文字前景色,BackgroundColorSpan為文字背景色
ForegroundColorSpanredSpan=newForegroundColorSpan(Color.RED);
ForegroundColorSpanwhiteSpan=newForegroundColorSpan(Color.WHITE);
ForegroundColorSpanblueSpan=newForegroundColorSpan(Color.BLUE);
ForegroundColorSpangreenSpan=newForegroundColorSpan(Color.GREEN);
ForegroundColorSpanyellowSpan=newForegroundColorSpan(Color.YELLOW);
builder.setSpan(redSpan,0,1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(whiteSpan,1,2,Spannable.SPAN_INCLUSIVE_INCLUSIVE);
builder.setSpan(blueSpan,2,3,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(greenSpan,3,4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.setSpan(yellowSpan,4,5,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(builder);
簡單示例。。

F. android 如何設置TextView中字體在不同狀態下的顏色

TextView的字體設置方法:
1、直接通過配置文件設置
2、在Activity類中進行設置

第一種方式很簡單,用於靜態或初始文字顏色的設置,方法如下:

main.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/tv01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:autoLink="all"
android:textColor="@color/red"
/>
</LinearLayout>
color.xml
Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#FF0000</color>
</resources>
drawable.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="white">#FFFFFF</drawable>
<drawable name="dark">#000000</drawable>
<drawable name="red">#FF0000</drawable>
</resources>
strings.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">地址:http://yahaitt.javaeye.com</string>
<string name="app_name">丫梨的筆記本</string>
</resources>

上面將資源部分分成了3個部分,目的是為了清晰,當然你也可以只建一個xml文件放在res目錄下,而且文件名稱可以隨便命名。

注意兩個地方:
1、main.xml的TextView標簽中:
android:textColor="@color/red"
2、color.xml中:
<color name="red">#FF0000</color>

@color指獲取資源文件中(所有res目錄下的xml文件)的<color>標簽
/red指在標簽下找其name值為red的內容,此時其值為#FF0000

因此,這里我們還可以這樣做:
android:textColor="@drawable/red"

@drawable指獲取資源文件中<drawable>標簽
/red指在標簽下找其name值為red的內容

以此類推,相信你也就知道了如果是在strings.xml中該怎麼做了。

下面看看第二種方式:在Activity類中進行設置

1、先將main.xml改成如下,即去掉android:textColor="@color/red":

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/tv01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:autoLink="all"
/>
</LinearLayout>
2、修改Activity的onCreate方法,這里我的Activity是Study03_01,原始代碼如下:

Java代碼
package yahaitt.study03_01;

import android.app.Activity;
import android.os.Bundle;

public class Study03_01 extends Activity { @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

第一步:獲得文本控制項TextView,取名為tv

第二步:通過TextView的setTextColor方法進行文本顏色的設置,這里可以有3種方式進行設置:

第1種:tv.setTextColor(android.graphics.Color.RED);//系統自帶的顏色類

第2種:tv.setTextColor(0xffff00ff);//0xffff00ff是int類型的數據,分組一下0x|ff|ff00ff,0x是代表顏色整數的標記,ff是表示透明度,ff00ff表示顏色,注意:這里ffff00ff必須是8個的顏色表示,不接受ff00ff這種6個的顏色表示。

第3種:tv.setTextColor(this.getResources().getColor(R.color.red));//通過獲得資源文件進行設置。根據不同的情況R.color.red也可以是R.string.red或者R.drawable.red,當然前提是需要在相應的配置文件里做相應的配置,如:
<color name="red">#FF0000</color>
<drawable name="red">#FF0000</drawable>
<string name="red">#FF0000</string>

詳細的代碼如下:
Java代碼
package yahaitt.study03_01;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

public class Study03_01 extends Activity {

private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tv = (TextView)this.findViewById(R.id.tv01);

// tv.setTextColor(Color.RED);

// tv.setTextColor(0xff000000);

G. android 默認字體顏色值是多少

剛剛在android19 SDK下寫了一個listview 然後用ps獲取到listview分割線的顏色值 十六進制:d8d8d8 RGB:216 216 216

H. android中設置文本顏色怎樣設置

利用系統自帶的顏色類
TextView1.setTextColor(android.graphics.Color.RED);

數字顏色表示法
TextView1.setTextColor(0xffff00ff);
自定義顏色
TextView1.setTextColor(this.getResources().getColor(R.drawable.red));
我在values文件夾下新建一個color.xml,內容如下:
?

<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="dkgray">#80808FF0</drawable>
<drawable name="yello">#F8F8FF00</drawable>
<drawable name="white">#FFFFFF</drawable>
<drawable name="darkgray">#938192</drawable>
<drawable name="lightgreen">#7cd12e</drawable>
<drawable name="black">#ff000000</drawable>
<drawable name="blue">#ff0000ff</drawable>
<drawable name="cyan">#ff00ffff</drawable>
<drawable name="gray">#ff888888</drawable>
<drawable name="green">#ff00ff00</drawable>
<drawable name="ltgray">#ffcccccc</drawable>
<drawable name="magenta">#ffff00ff</drawable>
<drawable name="red">#ffff0000</drawable>
<drawable name="transparent">#00000000</drawable>
<drawable name="yellow">#ffffff00</drawable>
</resources>

I. Android中TextView中的文字顏色設置setTextColor的用法

原文鏈接http://blog.csdn.net/u012532559/article/details/44925285

Android 中設置TextView的顏色有方法setTextColor,這個方法被重載了,可以傳入兩種參數。一種方法是傳入int color值,要注意這個int不是R文件中自動分配的十六進制int值,這是Color類中的靜態方法構造出來的顏色int值。另一種方法是通過ColorStateList得到xml中的配置的顏色的。好多需要xml中配置的都要類似這樣的映射xml文件(比如一個按鈕事件的選擇器,默認狀態為顏色A,點擊時狀態為顏色B等等選擇效果)。

setTextColor的兩種重載方法如下:

[java] view plain

publicvoidsetTextColor(intcolor) {

mTextColor = ColorStateList.valueOf(color);

updateTextColors();

}

publicvoidsetTextColor(ColorStateList colors) {

if(colors ==null) {

thrownewNullPointerException();

}

mTextColor = colors;

updateTextColors();

}

第一種重載方法有以下實現方式:

方法一:通過ARGB值的方式

textview.setTextColor(Color.rgb(255,255, 255));

textview.setTextColor(Color.parseColor("#FFFFFF"));

方法二:通過資源引用

textview.setTextColor(mContext.getResources().getColor(R.drawable.contact_btn_text_red))

#f2497c

第二種重載方法的實現:

[java] view plain

textview.setTextColor(mContext.getResources().getColorStateList(R.drawable.big_btn_text_color));

選擇器big_btn_text_color.xml

[html] view plain

熱點內容
谷歌視頻緩存怎麼提取 發布:2025-01-15 08:07:47 瀏覽:77
php多條件篩選 發布:2025-01-15 08:07:39 瀏覽:928
百度提問怎麼上傳圖片 發布:2025-01-15 08:07:33 瀏覽:838
yy圖片文件夾 發布:2025-01-15 08:01:00 瀏覽:841
可緩存影視 發布:2025-01-15 07:42:50 瀏覽:799
php函數默認值 發布:2025-01-15 07:34:31 瀏覽:238
編譯應用後apk無法打開 發布:2025-01-15 07:33:45 瀏覽:438
lc腳本編輯器 發布:2025-01-15 07:18:59 瀏覽:529
追劇腳本 發布:2025-01-15 07:00:39 瀏覽:446
c語言字元串庫函數 發布:2025-01-15 06:54:49 瀏覽:526