TableRayoutでTableRowを取得しようとしていますが、ユーザーが触れたときに背景色を変更しようとしていますが、動作していないようです。 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>
スタイル:(onclickhighlight.xml)
<style name="TableRow">
<item name="android:background">@drawable/onclickhighlight</item>
</style>
Drawableの
<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:drawableプロパティを@android:color/transparentから@android:color/background_lightに変更すると、背景色が白に変わるからです。
私は唯一ではありません。 TextViewからonClickをTableRowに移動しました。なぜなら、行全体をクリック可能にしたいのですが、強調表示はしていないからです。バグかもしれない? –