1

我在 Horizo​​ntalScrollView 中有 RelativeLayouts。当用户单击其中一个布局(或其任何子布局)时,我需要更改某个 RelativeLayout 的背景颜色并获取其 ID 以进行进一步处理。我看到这可以通过 DuplicateParentState 或 onTouchEvent 来完成。推荐哪种方式?

按照建议编辑 XML 文件后的我的 XML 文件:

<RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <youme.appyoume.com.ExDialog>

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="20dp"
                android:clickable="true"
                android:duplicateParentState="true"
                android:onClick="onClick"
                android:src="@drawable/ic_launcher" />

            <EditText
                android:id="@+id/TextView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginLeft="20dp"
                android:layout_marginRight="20dp"
                android:layout_marginTop="20dp"
                android:layout_weight="1"
                android:duplicateParentState="true"
                android:ems="10"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:inputType="textMultiLine"
                android:text="text" >

                <requestFocus />
            </EditText>
            </youme.appyoume.com.ExDialog>
        </RelativeLayout>

谢谢,西蒙

4

2 回答 2

2

如果您想使用您在 xml 中创建的自定义类,您只需使用对象的整个根名称。因此,例如,如果您在

com.your.package.customButton

你会写在你的xml中

<RelativeLayout
   ...layoutstuff config>

  <com.your.package.customButton
    ...customButton layout config/>

</RelativeLayout>

如果您将相对布局子类化,您将像这样使用它

<youme.appyoume.com.ExDialog
    ...layout setup stuff>

    <Button
     ...button setup stuff
    />

 </youme.appyoume.com.ExDialog>
于 2012-12-06T18:08:11.263 回答
0

您始终可以使用 setTag 和 getTag 为其分配一个标签以供将来参考,只需使用 setOn Click Listener 并将您需要发生的任何事情放在那里

于 2012-12-02T21:02:15.250 回答