1

この要素をどのようにレイアウトするかを理解するのに非常に苦労しています。これが私がやりたいことです(MSペイントのスキルについてはお詫びします):

レイアウト

ここで、灰色のボックスは ImageView であると想定されています。ここの赤い線は、セクションをより明確にするためのものです - それらを描く方法について心配していません. 私が取得しようとしている機能は次のとおりです。

  1. ImageView は、一番上の赤い線と緑のボックスの左端を基準に配置されます。

  2. 「TEXT」は画像の右側にあり、そのセクションの垂直方向の中央に配置されています。

ImageView がなければ、これは非常に簡単です。3 つの TextView といくつかのパディングを持つ LinearLayout だけです。RelativeLayout を使用してこれを実行しようとしましたが、パディング/マージンの推測に頼らずにテキストをボックス内の中央に配置する方法がわかりません。

箱をぶら下げる方法を見つけました。RelativeLayout を作成しました

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_marginTop="20dp"
    android:background="#3AF">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="20dp"
        android:background="#AAA">
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:padding="10dp"
            android:id="@+id/textView"/>
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:padding="10dp"
            android:id="@+id/textView1"/>
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:padding="10dp"
            android:id="@+id/textView2"/>
    </LinearLayout>
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:src="@drawable/ic_launcher"
        android:id="@+id/imageView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"/>
</RelativeLayout>

しかし、私が理解できないのは、一番上のTextViewをImageViewの右側に揃える方法です。(注 - これは私の試みです。レイアウトのタイプ/スタイルは、現時点では完全に柔軟です)。

デザイナーでの表示のスクリーンショットを次に示します。

スクリーンショット

何か案は?

4

2 に答える 2

0

最初の行を LinearLayout に配置してから、他のすべてを RelativeLayout に配置してみてください。このコードを試したことはありませんが、シナリオを正しく理解していれば、うまくいくはずです。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_marginTop="20dp"
    android:background="#3AF">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_parent"
        android:layout_alignParentTop="true"
        android:layout_marginTop="20dp"
        android:background="#AAA">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:src="@drawable/ic_launcher"
        android:id="@+id/imageView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"/>
     <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:padding="10dp"
            android:id="@+id/textView"/>
    </LinearLayout>

    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:padding="10dp"
            android:id="@+id/textView1"/>
    <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="New Text"
            android:padding="10dp"
            android:id="@+id/textView2"/>
    </LinearLayout>

</RelativeLayout>
于 2013-01-28T00:52:07.977 に答える
0
android:layout_toRightOf

うまくいくはずです...うまくいかない場合は、ここで問題なく動作するため、何が間違っているのか、何が問題なのかを説明できますか...

于 2013-01-27T23:54:27.110 に答える