2011-10-23 45 views
0

我試圖讓TableRow在TableLayout中更改用戶觸摸它時的背景顏色,但它似乎不工作。當我點擊TableRow時,沒有任何反應。這是我到目前爲止有:StateListDrawable無法在TableRow上工作

佈局:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/BaseStyle" 
    android:stretchColumns="*"> 

     <TableRow style="@style/TableRow"> 
      <TextView 
       android:id="@+id/settings 
       style="@style/BaseStyle.SettingsText" 
       android:text="Settings" 
       android:onClick="onClick" 
       android:clickable="true" 
      /> 
     </TableRow> 

</TableLayout> 

風格:

<style name="TableRow"> 
    <item name="android:background">@drawable/onclickhighlight</item> 
</style> 

繪製對象(onclickhighlight.xml)

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- Active state --> 
    <item android:state_selected="true" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/background_light" /> 

     <!-- Inactive state--> 
    <item android:state_selected="false" android:state_focused="false" android:state_pressed="false" android:drawable="@android:color/transparent" /> 

     <!-- Pressed state--> 
     <item android:state_selected="true" android:state_focused="true" android:state_pressed="true" android:drawable="@android:color/background_light" /> 

</selector> 

顏色:

<resources> 
    <color name="background_light">#FFFFFF</color> 
</resources> 

我知道TableRow使用的是onclickhighlight StateListDrawable,因爲如果將@android:color/transparent中的「Inactive state」的android:drawable屬性更改爲@android:color/background_light,則背景色將更改爲白色。

回答

0

我有完全相同的問題,我試圖找到答案。我敢打賭,如果您要從表格行xml中刪除android:onClick="onClick",則會發現突出顯示會起作用。但是,那麼,如何讓點擊事件與您想要的方法關聯?

+0

很高興知道我不是唯一一個。我將onClick從TextView移動到TableRow,因爲我希望整行可點擊,但仍然沒有突出顯示。也許是一個錯誤? –

0

我有同樣的問題,這是什麼對我有用。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@color/yourcolor" /> 
    <item android:drawable="@color/yournormalbackground"/> 
</selector> 
相關問題