0

我想使用我自己的自定义视图重新创建 CheckedTextView 的功能,这样我就可以在左侧有两个 TextView,在右侧有一个 CheckBox,在两个 TextView 之间垂直居中。我有为它工作的布局,我将在下面包括。我也有它,这样当您单击外部 LinearLayout (LinearLayout1) 时,它会将单击传递给复选框。我唯一想不通的是,当您按下复选框时,它会在将其标记为选中之前短暂突出显示该复选框(在我的设备上为黄色)。如果您触摸外部 LinearLayout 上的任何位置,我希望它做同样的事情,但我不知道我需要在哪里挂钩才能实现这一点。

这是我的 layout.xml

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/LinearLayout1">
    <LinearLayout
        android:orientation="vertical"
        android:layout_height="wrap_content"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:id="@+id/LinearLayout2">
        <TextView
            android:id="@+id/FieldValueTextView"
            android:text="Value"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium" />
        <TextView
            android:id="@+id/FieldLabelTextView"
            android:text="Label"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    </LinearLayout>
    <CheckBox
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_toRightOf="@id/LinearLayout2"
        android:id="@+id/CheckBox"
        android:gravity="center_vertical" />
</LinearLayout>

谢谢,

4

1 回答 1

0

The problem I was experiencing was solved by putting the following android:focusable="false" on the CheckBox and the two TextViews so that when the ListView is clicked, it gets the focus, not the inner views.

Hope that helps someone else.

于 2012-07-26T08:38:25.027 回答