2

次のような 3 列のレイアウトがあります。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ... />
  <LinearLayout>
    <LinearLayout>
       <ImageView
          android:id="@+id/imageIcon" />
       ....
    </LinearLayout>
    <LinearLayout>
      ....
    </LinearLayout>
    <LinearLayout>
      ....
    </LinearLayout>
  </LinearLayout>
  <TextView 
     android:layout_toRightOf="@id/imageIcon" />
</RelativeLayout>

コードの TextView 部分で「兄弟ではありません」というエラーが表示されます。TextView の目的は、「ヘルプ」表示のように機能することです。TextView が常にその ImageView の右側にあることを確認しようとしています。これを行うためのより良い方法はありますか?

4

5 に答える 5

1

android:layout_toRightOf相対レイアウトで要素を配置するために使用されますが、ImageView は LinearLayout 内にあります。

LinearLayout に Id を指定し、テキストをその右側に配置できます。

于 2013-10-01T02:33:09.467 に答える
0

android:layout_toRightOf="@id/imageIcon" は、ビューが同じ親レイアウトにある場合に使用できますが、ここでは TextView が LinearLayout にあるため、必要に応じて android:layout_toRightOf を LinearLayout に指定できます。

于 2013-10-01T03:47:50.160 に答える
0

代わりにカスタムダイアログを使用することになりました。ダイアログの正しい位置を計算し、これを使用して値を設定する必要があります。

getWindow().getAttributes().y = mLocY;
getWindow().getAttributes().x = mLocX;
于 2013-10-02T05:36:19.150 に答える
0

2 つのビューを一緒に配置する場合は、それらが同じ親レイアウト内にある必要があります。レイアウトからわかるように、TextView は ImageView が含まれる LinearLayout 内にありません。TextView を ImageView が含まれる LinearLayout に揃えることをお勧めします。

于 2013-10-01T02:30:35.543 に答える