无论字符串大小字体如何,如何垂直对齐多个TextView和多个EditTexts

时间:2017-03-20 17:53:12

标签: android android-edittext textview

我需要做的是将EditText垂直对齐到中心,并垂直对齐TextEdit。

实施例: 苹果 _______ 橙子 _______ 西瓜_______

我已经尝试过以下功能,但似乎不起作用,因为每个字母的大小字体不同

实施例: 我的 _____ Q _____

其中*是空格,因此EditText ____未对齐

//Right padding
    public static String padRight(String s, int n) {
         return String.format("%1$-" + n + "s", s);  
    }


    //Left padding
    public static String padLeft(String s, int n) {
        return String.format("%1$" + n + "s", s);  
    }



 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="8dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textViewUserWeist"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"              
                android:gravity="left"
                android:layout_marginLeft="15dp"
                android:layout_marginStart="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginEnd="15dp"
                android:text="Apple"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="@color/black" />
            <EditText
                android:id="@+id/editWeist"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginStart="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginEnd="15dp"                
                android:gravity="center|top"
                android:hint="..."
                android:background="@drawable/draw_rounded_edittext"
                android:textCursorDrawable="@drawable/draw_color_cursor" />

     </LinearLayout>

            <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="8dp"
            android:gravity="center"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textViewUserHips"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"               
                android:gravity="left"
                android:layout_marginLeft="15dp"
                android:layout_marginStart="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginEnd="15dp"
                android:text="Grape"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:textColor="@color/black" />

            <EditText
                android:id="@+id/editHips"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:layout_marginStart="15dp"
                android:layout_marginRight="15dp"
                android:layout_marginEnd="15dp"                
                android:gravity="center|top"
                android:hint="..."
                android:background="@drawable/draw_rounded_edittext"
                android:textCursorDrawable="@drawable/draw_color_cursor" />
           </LinearLayout>

1 个答案:

答案 0 :(得分:0)

我认为,据我所知,你想要完成什么,将第一个LinearLayout的方向更改为“vertical”应该可以解决问题。无论如何,为了获得更好的性能,您应该使用RelativeLayout来减少视图中膨胀的布局。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:orientation="vertical" >
...
</LinearLayout>