在editText Android中居中文本

时间:2016-05-18 18:43:50

标签: android android-layout android-edittext textview

我有一个带有textview和edittext的linearlayout。如何在edittext中居中文本。它似乎被绘制到底部,如下所示。我希望它与基线类似于其左侧的textview的基线一致。

enter image description here

布局代码如下:

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="25dp"
    android:layout_marginTop="20dp"
    android:orientation="horizontal"
    >
    <TextView
        android:layout_width="75dp"
        android:layout_height="30dp"
        android:ems="10"
        android:textAlignment="center"
        android:text="NAME"
        android:textColor="#FFFFFF"
        android:textSize="16sp"
        android:singleLine="true"
        android:id="@+id/tv_name"
        android:background="@drawable/orange_left_rounded_corner"
        />
    <EditText
        android:layout_width="125dp"
        android:layout_height="30dp"
        android:ems="10"
        android:layout_marginTop="10dp"
        android:textAlignment="center"
        android:text=""
        android:layout_gravity="right"
        android:gravity="center_horizontal"
        android:textColor="#000000"
        android:textSize="16sp"
        android:singleLine="true"
        android:id="@+id/et_name"
        android:background="@drawable/orange_right_rounded_corner"
        />
</LinearLayout>

3 个答案:

答案 0 :(得分:1)

使用android:gravity =“center”让输入居中

答案 1 :(得分:1)

就这样做

 <LinearLayout
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_marginTop="20dp"
android:orientation="horizontal"
>
<TextView
    android:layout_width="75dp"
    android:layout_height="30dp"
    android:ems="10"
    android:textAlignment="center"
    android:text="NAME"
    android:textColor="#FFFFFF"
    android:textSize="16sp"
    android:singleLine="true"
    android:id="@+id/tv_name"
    android:background="@drawable/orange_left_rounded_corner"
    android:gravity="center_vertical"
    />
<EditText
    android:layout_width="125dp"
    android:layout_height="30dp"
    android:ems="10"
    android:layout_marginTop="10dp"
    android:textAlignment="center"
    android:text=""
    android:layout_gravity="right"
    android:gravity="center_horizontal"
    android:textColor="#000000"
    android:textSize="16sp"
    android:singleLine="true"
    android:id="@+id/et_name"
    android:background="@drawable/orange_right_rounded_corner"
    />

答案 2 :(得分:0)

尝试使用此代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center_vertical"
android:orientation="horizontal">

<TextView
    android:id="@+id/tv_name"
    android:layout_width="75dp"
    android:layout_height="30dp"
    android:background="@drawable/orange_left_rounded_corner"
    android:ems="10"
    android:gravity="center_vertical"
    android:singleLine="true"
    android:text="NAME"
    android:textAlignment="center"
    android:textColor="#FFFFFF"
    android:textSize="16sp" />

<EditText
    android:id="@+id/et_name"
    android:layout_width="125dp"
    android:layout_height="30dp"
    android:layout_gravity="right"
    android:layout_marginTop="10dp"
    android:background="@drawable/orange_right_rounded_corner"
    android:ems="10"
    android:gravity="center_horizontal"
    android:singleLine="true"
    android:text=""
    android:textAlignment="center"
    android:textColor="#000000"
    android:textSize="16sp" />
</LinearLayout>