當前位置:首頁 » 安卓系統 » androidtextview字體顏色

androidtextview字體顏色

發布時間: 2023-02-04 00:19:49

❶ android 中的textview中 設置字的顏色,失效只有第一個可以顯示出來顏色,其他的都是系統默認的

其他是否處於不可用狀態,察看一下代碼中是否設置了setEnabled(false)

❷ android TextView怎麼設置個別字體顏色並換行

由於你沒有自己定義顏色,默認為灰色。 有兩種方式設置: 1:在java類中 TextView tv = new TextView(this); tv.setTextColor(Color.RED);利用這種方式設置字體顏色。 2:在xml文件中 在你的TextView中有textColor屬性,給屬性值為RGB格式就行了.

❸ 怎麼設置一個TextView在被點擊時改變背景色

TextView本沒有點擊效果,故為實現點擊後文字顏色改變和背景改變,需要寫selector進行點擊時顏色的替換。效果圖如下:
未點擊時:字顏色為黑色,背景為系統默認顏色。點擊時:字體顏色為綠色,背景色為粉色。如下圖所示:

布局文件:

res/layout/activity_main.xml
<TextView
android:layout_width="fill_parent"
android:layout_height="60dp"
android:paddingLeft="25dp"
android:gravity="center_vertical"
android:text="@string/hello_world"
android:textSize="25dp"
android:textColor="@color/textcolor_selector"
android:background="@drawable/background_selector"
android:clickable="true"
android:focusable="true"/>

文字顏色:
res/color/textcolor_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="@color/green"></item>
<item android:state_checked="true" android:color="@color/green"></item>
<item android:state_pressed="true" android:color="@color/green"></item>
<item android:color="@color/black"/>
</selector>

背景顏色
res/drawable/background_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="true" android:drawable="@color/pink"></item>
<item android:state_checked="true" android:drawable="@color/pink"></item>
<item android:state_pressed="true" android:drawable="@color/pink"></item>
</selector>

涉及顏色值:
res/values/color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#ffffffff</color>
<color name="black">#ff000000</color>
<color name="pink">#ffffcbd7</color>
<color name="green">#ffbae4b6</color>
</resources>

注意事項:
textview控制項默認沒有點擊和焦點的,所以需要在布局文件中把clickable和focusable的值手動添加為true。

❹ 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類中的顏色值)。

❺ android TextView怎麼設置個別字體顏色並換行

1、TextView 設置個別字體顏色

TextViewtv=(TextView)findViewById(R.id.tv);
tv.setText(Html.fromHtml("你的內容:<fontcolor=red>要設置的內容</font>"));

2、TextView 設置字體換行

TextViewtv=(TextView)findViewById(R.id.tv);
tv.setText("你的內容");

3、TextView 設置個別字體顏色並換行

TextViewtv=(TextView)findViewById(R.id.tv);
tv.setText(Html.fromHtml("內容:<br/><fontcolor=red>juapk.com</font>"));

或者可以用SpannableString 設置字體顏色

StringXM="asd";
SpannableStringmsp=newSpannableString("測試"+XM+"更換當前號碼將從手機發送一條普通簡訊進行驗證");
2msp.setSpan(newForegroundColorSpan(Color.BLUE),2,XM.length()+2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

❻ 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);

❼ 安卓中autoCompleteTextview的下拉欄中字體顏色怎麼改

您好,安卓中有如下的方法來修改特定位置的字體顏色,但是缺陷是只能設置指定范圍的,比如從第二個開始,到第3個結束,而不能設置指定規則的。
int start=2;
int end=3;
tv=new TextView(context);
SpannableStringBuilder style=new SpannableStringBuilder(str);
style.setSpan(new ForegroundColorSpan(Color.RED),start,end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(style);
這時候就用到了我們神通廣大的正則表達式,只要設定了規則,我們就可以通過這個規則去找出來這個特定的字元串的位置,然後就可以設置字體顏色了。
代碼如下:其中包括添加滾動條的功能

tv=new TextView(parentContext);
String str="1. 選項1\n2. 選項2\n3. 選項3\n4. 選項4\n5. 選項5\n6. 選項6\n7. 選項7\n8. 選項8\n9. 選項9\n10. 選項10\n11. 選項11\n12. 選項12\n13. 選項13\n14. 選項14\n15. 選項15";
LayoutParams lp=new LayoutParams(-1, 200);tv.setVerticalScrollBarEnabled(true);//據說這句話等同於xml中設置:android:scrollbars="vertical",不過實際效果測試滾動條根本不顯示

tv.setMovementMethod(ScrollingMovementMethod.getInstance());

SpannableStringBuilder style=new SpannableStringBuilder(str);

Pattern p = Pattern.compile(".*?(\\d+\\. ).*?");//我這里設置的規則就是找到所有 數字.空格 格式的字元

Matcher m = p.matcher(str);

int i=0;

while(m.find()){

String find=m.group(1);

i = str.indexOf(find,i);

System.out.println(str.substring(i,i+find.length()));

style.setSpan(new ForegroundColorSpan(Color.RED),i,i+find.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

}

tv.setText(style);

❽ android AutoCompleteTextView 列表背景和字體顏色

正如你所說
,style的問題
創建項目是選擇SDK版本的不同會有不同的主題風格模式
Google這樣做也是為了統一UI界面風格

❾ android裡面怎麼給Textview設置超鏈接,還有字體顏色這些屬性啊

要給 TextView 加上效果,方式主要有幾種:
第一種,自動應用效果,使用 android:autolink 屬性,如:
Java代碼
android:id="@+id/text1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:autoLink="all"

android:text="@string/link_text_auto"

/>
第二種,在文本中使用 標簽,如:
Java代碼


text2: This is some other

text, with a link specified

via an tag. Use a \"tel:\" URL

to dial a phone number
第三種,和第二種其實是一樣的,只不過將文本改在 JAVA 代碼中,如:
Java代碼

TextView t3 = (TextView) findViewById(R.id.text3);

t3.setText(

Html.fromHtml(

"text3: Text with a " +

"link " +

"created in the Java source code using HTML."));

t3.setMovementMethod(LinkMovementMethod.getInstance());
第四種,前面三種可以說都是自動的,而第四種就是純「手工」的了。通過創建 SpanableString 字元串,並在之上創 建一個或多個 Span 來實現豐富的效果。例子如下:
Java代碼

SpannableString ss = new SpannableString("text4: Click here to dial the phone.");

ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

ss.setSpan(new URLSpan("tel:4155551212"), 13, 17,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView t4 = (TextView) findViewById(R.id.text4);

t4.setText(ss);

t4.setMovementMethod(LinkMovementMethod.getInstance());
完整的代碼見 ApiDemo 吧,下面我提幾點需要注意的:
.setMovementMethod,此方法在需要響應用戶事件時使用,如點擊一個電話號碼就跳轉到撥號頁面。如果不執行這個方法是不會響應事件的,即便文本看著已經是下劃線藍色字了。
.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,這是在 setSpan 時需要指定的 flag,它的意義我試了很久也沒試出來,睡個覺,今天早上才突然有點想法,試之,果然。它是用來標識在 Span 范圍內的文本前後輸入新的字元時是否把它們也應用這個效果。分別有 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前後都不包括)、Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前麵包括,後面不包括)、Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,後麵包括)、Spanned.SPAN_INCLUSIVE_INCLUSIVE(前後都包括)

在Android中,TextView是我們最常用的用來顯示文本的控制項。
一般情況下,TextView中的文本都是一個樣式。那麼如何對於TextView中各個部分的文本來設置字體,大小,顏色,樣式,以及超級鏈接等屬性呢?下面我們通過SpannableString的具體實例操作來演示一下。
res-layout-main.xml:
Java代碼

android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="horizontal">

android:id="@+id/myTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>
res-color-color.xml
res-color-linkcolor.xml:
Java代碼

android:color="#ffffff00"/>

android:color="#ff00ffff"/>
TextViewLinkActivity:
Java代碼

import java.io.IOException;

import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;

import android.content.res.ColorStateList;

import android.content.res.XmlResourceParser;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Color;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import android.text.SpannableString;

import android.text.Spanned;

import android.text.method.LinkMovementMethod;

import android.text.style.AbsoluteSizeSpan;

import android.text.style.BackgroundColorSpan;

import android.text.style.BulletSpan;

import android.text.style.DrawableMarginSpan;

import android.text.style.ForegroundColorSpan;

import android.text.style.IconMarginSpan;

import android.text.style.ImageSpan;

import android.text.style.RelativeSizeSpan;

import android.text.style.ScaleXSpan;

import android.text.style.StrikethroughSpan;

import android.text.style.StyleSpan;

import android.text.style.SubscriptSpan;

import android.text.style.SuperscriptSpan;

import android.text.style.TextAppearanceSpan;

import android.text.style.TypefaceSpan;

import android.text.style.URLSpan;

import android.text.style.UnderlineSpan;

import android.widget.TextView;

public class TextViewLinkActivity extends Activity {

TextView mTextView = null;

SpannableString msp = null;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mTextView = (TextView)findViewById(R.id.myTextView);

//創建一個 SpannableString對象

msp = new SpannableString("字體測試字體大小一半兩倍前景色背景色正常粗體斜體粗斜體下劃線刪除線x1x2電話郵件網站簡訊彩信地圖X軸綜合/bot");

//設置字體(default,default-bold,monospace,serif,sans-serif)

msp.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

msp.setSpan(new TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置字體大小(絕對值,單位:像素)

msp.setSpan(new AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

msp.setSpan(new AbsoluteSizeSpan(20,true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二個參數boolean dip,如果為true,表示前面的字體大小單位為dip,否則為像素,同上。

//設置字體大小(相對值,單位:像素) 參數表示為默認字體大小的多少倍

msp.setSpan(new RelativeSizeSpan(0.5f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默認字體大小的一半

msp.setSpan(new RelativeSizeSpan(2.0f), 10, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默認字體大小的兩倍

//設置字體前景色

msp.setSpan(new ForegroundColorSpan(Color.MAGENTA), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設置前景色為洋紅色

//設置字體背景色

msp.setSpan(new BackgroundColorSpan(Color.CYAN), 15, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設置背景色為青色

//設置字體樣式正常,粗體,斜體,粗斜體

msp.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常

msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 20, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗體

msp.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 22, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜體

msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 24, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜體

//設置下劃線

msp.setSpan(new UnderlineSpan(), 27, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置刪除線

msp.setSpan(new StrikethroughSpan(), 30, 33, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置上下標

msp.setSpan(new SubscriptSpan(), 34, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下標

msp.setSpan(new SuperscriptSpan(), 36, 37, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //上標

//超級鏈接(需要添加setMovementMethod方法附加響應)

msp.setSpan(new URLSpan("tel:4155551212"), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //電話

msp.setSpan(new URLSpan("mailto:[email protected]"), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //郵件

msp.setSpan(new URLSpan("http://www..com"), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //網路

msp.setSpan(new URLSpan("sms:4155551212"), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //簡訊 使用sms:或者smsto:

msp.setSpan(new URLSpan("mms:4155551212"), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto:

msp.setSpan(new URLSpan("geo:38.899533,-77.036476"), 47, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地圖

//設置字體大小(相對值,單位:像素) 參數表示為默認字體寬度的多少倍

msp.setSpan(new ScaleXSpan(2.0f), 49, 51, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默認字體寬度的兩倍,即X軸方向放大為默認字體的兩倍,而高度不變

//設置字體(依次包括字體名稱,字體大小,字體樣式,字體顏色,鏈接顏色)

ColorStateList csllink = null;

ColorStateList csl = null;

XmlResourceParser xppcolor=getResources().getXml (R.color.color);

try {

csl= ColorStateList.createFromXml(getResources(),xppcolor);

}catch(XmlPullParserException e){

// TODO: handle exception

e.printStackTrace();

}catch(IOException e){

// TODO: handle exception

e.printStackTrace();

}

XmlResourceParser xpplinkcolor=getResources().getXml(R.color.linkcolor);

try {

csllink= ColorStateList.createFromXml(getResources(),xpplinkcolor);

}catch(XmlPullParserException e){

// TODO: handle exception

e.printStackTrace();

}catch(IOException e){

// TODO: handle exception

e.printStackTrace();

}

msp.setSpan(new TextAppearanceSpan("monospace",android.graphics.Typeface.BOLD_ITALIC, 30, csl, csllink), 51, 53, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置項目符號

msp.setSpan(new BulletSpan(android.text.style.BulletSpan.STANDARD_GAP_WIDTH,Color.GREEN), 0 ,msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第一個參數表示項目符號佔用的寬度,第二個參數為項目符號的顏色

//設置圖片

Drawable drawable = getResources().getDrawable(R.drawable.icon);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

msp.setSpan(new ImageSpan(drawable), 53, 57, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

mTextView.setText(msp);

mTextView.setMovementMethod(LinkMovementMethod.getInstance());

}

}

熱點內容
國外大叔解壓視頻 發布:2024-04-26 20:44:00 瀏覽:227
存儲念第幾音 發布:2024-04-26 20:33:35 瀏覽:250
衡陽dns的伺服器地址是多少 發布:2024-04-26 20:32:26 瀏覽:269
我的世界空島伺服器青金石 發布:2024-04-26 20:18:03 瀏覽:650
微信小程序演算法 發布:2024-04-26 20:03:36 瀏覽:975
易語言模板不能靜態編譯 發布:2024-04-26 19:59:02 瀏覽:353
sql注釋語句 發布:2024-04-26 19:58:48 瀏覽:654
sql存儲過程out 發布:2024-04-26 19:33:15 瀏覽:415
struts2訪問方法 發布:2024-04-26 19:11:36 瀏覽:259
外文翻譯android 發布:2024-04-26 19:03:30 瀏覽:92