3

私がやろうとしているのは、TextView を用意し、その右側に残りのスペースを占める editText を配置することです。textView は、editText に沿って垂直方向に中央に配置する必要があります。これで、linearlayout を使用してこれを行うことができますが、relativelayout で行うことをお勧めします。

<RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:padding="10dp">
     <TextView
          android:id="@+id/loginText"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Login:"
          android:paddingRight="20dp" />

<EditText
          android:id="@+id/login"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_toRightOf="@id/loginText" />

</RelativeLayout>
4

2 に答える 2

4

あなたがしたいことは、によってその子に提供されるandroid:layout_alignBottomおよびプロパティと のプロパティを使用することによって可能になります。android:layout_alignTopRelativeLayoutandroid:gravityTextView

これらのプロパティを使用すると、ビューの下端/上端を別のビューの下端/上端と一致するように設定できます。それらを に適用することで、TextView効果的にコントロールTextViewの高さに合わせることができます。EditText次に、重力プロパティを使用して、テキストをコントロールTextView内の垂直方向の中央に作成できます。TextView

次の例は、意図したとおりに機能するはずです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="5dp" >
    <TextView android:id="@+id/user_name_label"
        android:text="@string/user_name"
        android:layout_width="wrap_content"
        android:layout_height="0dp" 
        android:layout_alignBottom="@+id/user_name_text"
        android:layout_alignTop="@id/user_name_text"
        android:layout_marginRight="5dp"
        android:gravity="center_vertical" />
    <EditText android:id="@id/user_name_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/user_name_label" />
</RelativeLayout>
于 2012-07-20T10:30:46.100 に答える
3

android:layout_gravity="center_vertical"Textviewに追加する

これにより、テキストビューが親の垂直方向の中央に配置されます


于 2010-12-14T18:32:39.503 に答える