重新创建CheckedTextView的功能

时间:2012-07-19 10:29:37

标签: android android-layout

我想使用我自己的自定义视图重新创建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>

谢谢,

1 个答案:

答案 0 :(得分:0)

我遇到的问题是通过在CheckBox和两个TextView上放置以下android:focusable =“false”来解决的,这样当单击ListView时,它会获得焦点,而不是内部视图。

希望能帮助别人。