2

我有一个很大的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>

这就是它正在做的事情:

在此处输入图像描述

完整的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>
4

3 回答 3

2

添加 android:layout_gravity="center"你的 EditText

像这样

<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是视图的外部重力,而重力是视图的内部重力。

于 2013-10-18T15:54:44.133 回答
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>
于 2013-10-18T15:59:17.173 回答
1

使用android:layout_gravity而不是android:gravity在其父级中设置视图的重力

于 2013-10-18T15:53:41.693 回答