1

こんにちは私はなんとかアイコンの中心を線形ビューのテキストと同じ線にすることができますが、右側に矢印画像を追加したいので、相対ビューに切り替える必要があります。画像にあるように、相対ビューの左側のアイコンを線形ビューのように設定することができません。

編集
矢印アイコンを右側に残したい。

ここに画像の説明を入力してください
左の画像は線形、右の画像は相対的です。

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layercontainer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp">
<ImageView android:id="@+id/categoryIcon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="15dp"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp" />
<TextView android:id="@+id/categoryTitle"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@id/categoryIcon"
    android:textStyle="bold"
    android:textSize="22dp"
    android:textColor="#000000"
    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp" />
<ImageView
        android:id="@+id/nextIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"/>
</RelativeLayout>
4

3 に答える 3

4

TextViewプロパティdrawableLeftおよびdrawableRightを使用することをお勧めします

android:drawableLeft="@drawable/whatever"
android:drawableRight="@drawable/arrow"
android:width="fill_parent"

そうすれば、TextViewの重力を中央に設定すれば、すべて問題ないはずです。

また、RelativeLayout + 3ビューの代わりに単一のTextViewを使用すると、単純さが大幅に向上します。とにかく、3つのビューに固執する場合は、RelativeLayoutの代わりにLinearLayoutを使用することをお勧めします。

于 2012-04-09T15:45:51.657 に答える
1

なぜLinearLayoutを使用できないのですか?

これはうまくいくようです:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layercontainer" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp"> 
    <ImageView android:id="@+id/categoryIcon" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:gravity="center_vertical" 
        android:layout_marginRight="15dp" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" /> 
    <TextView android:id="@+id/categoryTitle" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:gravity="center_vertical" 
        android:textStyle="bold" 
        android:textSize="22dp" 
        android:textColor="#000000" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" /> 
    <ImageView 
        android:id="@+id/nextIcon" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" 
        android:gravity="center_vertical" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp"/> 
</LinearLayout> 
于 2012-04-09T15:46:58.953 に答える
0

単純なxml構造にはLinearLayoutを使用する必要があります

なぜならThe LinearLayout is the most simple layout available in Android. A LinearLayout organizes layout components in a linear fashion horizontally or vertically

効率的なレイアウトの作成は、RelativeLayoutとLinearLayoutのパフォーマンスについて述べています。

于 2012-04-09T15:53:02.777 に答える