无法在Android中居中编辑文本

时间:2014-10-07 05:41:39

标签: android xaml user-interface

我试图创建一个简单的登录屏幕,我希望编辑文本居中。我尝试设置android:gravity="center",但它不起作用

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:minWidth="25px"
        android:minHeight="25px">
        <TextView
            android:text="User Name"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="300"
            android:orientation="center"
            android:layout_height="100"
            android:gravity="center"
            android:id="@+id/textView1" />
        <EditText
            android:inputType="textPersonName"
            android:layout_width="300"
            android:layout_height="30"
            android:gravity="center"
            android:id="@+id/editText1" />
    </LinearLayout>

5 个答案:

答案 0 :(得分:1)

如果您希望中心的文字使用重力,并且中心的edittext使用layout_gravity。

  <EditText
    android:inputType="textPersonName"
    android:layout_width="300"
    android:layout_height="30"
    android:gravity="center"
    android:layout_gravity="center_horizontal"
    android:id="@+id/editText1" />

答案 1 :(得分:1)

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:minWidth="25px"
        android:minHeight="25px">
        <TextView
            android:text="User Name"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="300"
            android:orientation="center"
            android:layout_height="100"
             android:layout_gravity="center"
            android:gravity="center"
            android:id="@+id/textView1" />
        <EditText
            android:inputType="textPersonName"
            android:layout_width="300"
            android:layout_height="30"
            android:gravity="center"
           android:layout_gravity="center"
            android:id="@+id/editText1" />
    </LinearLayout>
  

并请尝试在* dp中指定宽度

答案 2 :(得分:0)

android:gravity="center"更改为android:layout_gravity="center"

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minHeight="25dp"

    android:minWidth="25dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="300dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:orientation="center"
        android:text="User Name"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="300dp"
        android:layout_height="30dp"
        android:layout_gravity="center"
        android:text="asdfas"
        android:inputType="textPersonName" />

同时在android:layout_width="300dp"android:layout_height="30dp"

中使用单位

答案 3 :(得分:0)

尝试

android:layout_gravity="center"

而不是

 android:gravity="center"

答案 4 :(得分:0)

您必须在LinearLayout中添加android:gravity="center_horizontal"。你的代码将是这样的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="25px"
    android:minHeight="25px"
    android:gravity="center_horizontal">
    <TextView
        android:text="User Name"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="300"
        android:layout_height="100"
        android:gravity="center"
        android:id="@+id/textView1" />
    <EditText
        android:inputType="textPersonName"
        android:layout_width="300"
        android:layout_height="30"
        android:gravity="center"
        android:id="@+id/editText1" />
</LinearLayout>