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などのレイアウトに配置できます。その後、インクルードタグを使用して、このすべてのレイアウトを必要に応じて挿入できます

<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 に答える