0

我有一个描述包含按钮、图像和文本的对话框的 XML 文件。为了覆盖 onClick 并在对话框中为所有小部件调用它,我编写了一个扩展 RelativeLayout 的子类。现在我想将 XML 文件与子类相关联。我可以不使用充气机吗?

 <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >


            <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>

        </RelativeLayout>

谢谢,西蒙

4

2 回答 2

3

当然。不要输入RelativeLayout,而是使用您的子类的完整包名。

  <com.example.MySubclassRelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
      ...
  </com.example.MySubclassRelativeLayout >
于 2012-12-06T20:49:41.913 回答
0

您可以将这些小部件放入一个布局中,例如 dialogwidgets.xml,然后您可以使用 include 标签插入您想要的所有布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width=”match_parent”
    android:layout_height=”match_parent”
    android:background="@color/app_bg"
    android:gravity="center_horizontal">

    <include layout="@layout/dialogwidgets"/>

    <TextView android:layout_width=”match_parent”
              android:layout_height="wrap_content"
              android:text="@string/hello"
              android:padding="10dp" />

    ...

</LinearLayout>
于 2012-12-06T20:50:37.117 回答