2014-10-05 70 views
0

我需要的是當點擊/點擊時TextView的顏色變爲紅色,但是當我不再點擊它時,它必須返回到原始顏色白色。更改選定的文本視圖顏色

這裏是我的.xml:

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/vu" 
android:id="@+id/textView" 
android:gravity="center" 
android:textSize="60sp" 
android:textColor="#ffffff" 
android:background="#212121" 
android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 
android:layout_alignParentRight="true" 
android:layout_alignParentEnd="true" /> 

這裏是我的.java:

public class MyActivity extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my); 

    TextView tv = (TextView) findViewById(R.id.textView); 
    Typeface typeface = Typeface.createFromAsset(getAssets(), "BebasNeue Light.ttf"); 
    tv.setTypeface(typeface); 
    WebView webView = (WebView) findViewById(R.id.webView); 
    webView.loadUrl("http://www.papery.hol.es"); 
    webView.setWebViewClient(new WebViewClient()); 
    webView.setVerticalScrollBarEnabled(false); 
    webView.setOverScrollMode(View.OVER_SCROLL_NEVER); 
    // Look up the AdView as a resource and load a request. 
    AdView adView = (AdView) this.findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    adView.loadAd(adRequest); 
    } 
} 

回答

1

創建您/RES /顏色/文件夾color state list resource,像這樣:

/res/color/text_color.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="#ff0000" /> 
    <item android:color="@android:color/white"/> 
</selector> 

然後用這個資源作爲您的文本顏色:

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World" 
    android:textColor="@color/text_color" 
    android:clickable="true" 
    /> 

需要注意的是這個工作,你要麼必須在android:clickable屬性設置爲true或設置一個點擊監聽器代碼你的TextView。

相關問題