2011-05-20 76 views
6

我想更改聚焦視圖的顏色;在我的情況下,它是一個表格行。如何更改聚焦視圖的背景色

這是我當前的代碼,但它不起作用。

  r.setOnTouchListener(new OnTouchListener(){ 
      public boolean onTouch(View arg0, MotionEvent arg1) { 
       {    { 
        arg0.setBackgroundColor(Color.LTGRAY); 
        r.setFocusableInTouchMode(true); 
       } 
      return false; 
     }}); 
+0

究竟是怎樣發生的使用此代碼 – ingsaurabh 2011-05-20 05:46:25

+0

對不起。看看編輯後的一個..後做這個整行改變顏色一旦我點擊它..並在選擇多行埃夫裏行維持該顏色..我試圖使用isFocussed()在條件..沒有工作 – ngesh 2011-05-20 05:54:00

+0

我不確定,但根據我的表格顏色不會改變焦點。你可以使用ListView它 – 2011-05-20 07:03:38

回答

1

在這裏,我做了一些例子你... http://life-as-a-coder.com/_shared/background_state.rar

在我的main.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"> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:background="@drawable/item_background" 
     android:clickable="true"> 
     <TextView 
      android:text="Item 1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="35dip"></TextView> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:background="@drawable/item_background" 
     android:clickable="true"> 
     <TextView 
      android:text="Item 2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="35dip"></TextView> 
    </LinearLayout> 
</LinearLayout> 

看看我用的LinearLayout這個例子。我設置android:clickable="true"激活... 這可以在ListView中使用過的點擊狀態...只是使用它的自定義行項...

對不起,我英文不好ň語法

0

@nagesh 此鏈接將解決您的問題OnClick change tablerow background color

+0

我需要改變它的顏色,當它的焦點...任何想法..? – ngesh 2011-05-20 05:55:11

+0

@nagesh你可以通過在android中使用StateListDrawable來實現此處,這裏是相同的鏈接http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList – PCS 2011-05-20 06:12:30

1

您可以使用XML繪製,
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

創建這樣

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
      android:drawable="@drawable/button_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" 
      android:drawable="@drawable/button_focused" /> <!-- focused --> 
    <item android:drawable="@drawable/button_normal" /> <!-- default --> 
</selector> 

一個xml,你需要背景圖爲那

+0

k謝謝..讓我看看如果這工作了..上面的XML文件應該粘貼res目錄手動我猜... ...? – ngesh 2011-05-20 06:28:07

+0

是的..該XML應放在res/drawable文件夾.. – 2011-05-20 06:39:32

+0

你應該接受答案,如果它爲你工作或回覆你得到什麼輸出,所以我們也可以幫助你以其他方式,如果這個答案沒有奏效:) – 2011-05-20 06:42:52

相關問題