0

ユーザーがタッチしたときに背景色を変更するために、TableLayout で TableRow を取得しようとしていますが、機能していないようです。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>

「非アクティブ状態」のandroid:drawableプロパティを@android:color/transparentから@android:color/background_lightに変更すると、背景色が白に変わるため、TableRowがonclickhighlight StateListDrawableを使用していることはわかっています。

4

2 に答える 2

0

私はまったく同じ問題を抱えており、答えを見つけようとしています。テーブルの行 xml からを削除するandroid:onClick="onClick"と、強調表示が機能することがわかります。では、クリック イベントを取得して、目的のメソッドに関連付けるにはどうすればよいでしょうか?!

于 2011-10-29T06:24:10.580 に答える
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>
于 2012-09-02T07:20:19.493 に答える