2014-10-05 26 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。