如何在表格布局中突出显示行?

时间:2011-08-11 07:09:21

标签: android

我在表格布局的表格行创建了动态文本视图。

我想在表格布局中单击行时突出显示当前行。

如何做到这一点?

2 个答案:

答案 0 :(得分:1)

低于2行应该可以正常工作。在方法

中创建行时
row.setFocusable("true");
row.setFocusableInTouchMode("true");

答案 1 :(得分:0)

以下布局选项让我可以使表格行可点击并在视觉上像按钮一样回应:

    <TableRow style="@style/PlanAttribute"  xmlns:android="http://schemas.android.com/apk/res/android"
         android:focusable="true" 
         android:focusableInTouchMode="true" 
         android:onClick="onRowSelected" 
         android:clickable="true">
     ...

PlanAttribute样式:

<style name="PlanAttribute">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:background">@drawable/divider_drawable</item>
</style>

divider_drawable.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:src="@drawable/divider_down"
                    android:gravity="fill"/>        
    </item>

    <item android:state_focused="true">
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:src="@drawable/divider_selected"
                    android:gravity="fill"/>        
    </item>

    <item
        android:state_focused="false"
        android:state_pressed="false">
        <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:src="@drawable/divider"
                    android:gravity="fill"/>        
    </item>

</selector>