editText不居中

时间:2013-10-18 15:50:40

标签: android xml

我有一个很大的editText,无论我尝试什么,都不会居中。我尝试将它放在水平和垂直的线性布局中,然后将重力设置为居中,因为将imageText的重力设置为中心,它仍然拥抱我活动的左侧。

<EditText
        android:id="@+id/editText1"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:gravity="center"
        android:lines="8"
        android:maxLines="8"
        android:minLines="8" >

    </EditText>

这就是它正在做的事情:

enter image description here

完整xml:

<LinearLayout 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:orientation="vertical"
    android:background="@drawable/corkboard"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <ToggleButton 
            android:id="@+id/facebook_tb"
            android:background="@drawable/facebook_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

        <ToggleButton 
            android:id="@+id/twitter_tb"
            android:background="@drawable/twitter_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

    </LinearLayout>    

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <ToggleButton 
            android:id="@+id/googleplus_tb"
            android:background="@drawable/googleplus_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

        <ToggleButton 
            android:id="@+id/tumblr_tb"
            android:background="@drawable/tumblr_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

    </LinearLayout>   

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    </LinearLayout>



    <ImageButton
        android:id="@+id/angry_btn"
        android:background="@drawable/pushpin"   

        android:layout_width="80dp"
        android:layout_height="80dp"
        android:shadowDx="0"
        android:shadowDy="0"
        android:layout_gravity="center"
        android:shadowRadius="5"
    />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:gravity="center"
        android:lines="8"
        android:maxLines="8"
        android:minLines="8" >

    </EditText>


</LinearLayout>

3 个答案:

答案 0 :(得分:2)

在EditText中添加android:layout_gravity="center"

喜欢这个

<EditText
        android:layout_gravity="center"
        android:id="@+id/editText1"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:gravity="center"
        android:lines="8"
        android:maxLines="8"
        android:minLines="8" >

    </EditText>

layout_gravity 是视图的外部重力,而重力是视图的内部重力。

答案 1 :(得分:2)

使用:

1)android:layout_gravity="center"使其垂直和水平居中。

2)android:layout_gravity="center_horizontal"只能水平居中。

3)android:layout_gravity="center_vertical"仅将其垂直居中。

所以它应该是:

<EditText
            android:id="@+id/editText1"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:lines="8"
            android:maxLines="8"
            android:minLines="8"
            <!-- whichever mode you want here! -->
            android:layout_gravity="center_horizontal"> 

    </EditText>

答案 2 :(得分:1)

使用android:layout_gravity代替android:gravity在其父级

中设置View的严重性