Android左,中,右对齐

时间:2011-04-11 15:36:13

标签: android android-layout

我对Android很新,并尝试做一个示例应用程序,其中3个元素(2个按钮和1个文本视图)水平放置。我需要文本位于中心,两个按钮在视图的左右对齐。

E.g。

|<Button>    <Text>     <Button>|

感谢您是否可以帮助我。

提前致谢

3 个答案:

答案 0 :(得分:20)

编辑:我相信这会解决您的问题。请参阅以下代码。如果这有帮助,请告诉我!我知道这对我有帮助,我将使用它。如果它有效,请接受这个作为答案! =)

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">
    <TableRow>
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="button1" 
            android:id="@+id/button1button"></Button>
        <EditText 
            android:layout_height="wrap_content" 
            android:id="@+id/firstedittext"
            android:layout_width="wrap_content"></EditText>
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="button2" 
            android:id="@+id/button2button"></Button>
    </TableRow>
</TableLayout>

编辑:添加相对布局以查看它是否适合您,让我知道它是否有效。您需要调整“10px”以获得所需的距离。我看到是否有更好的方法来做到这一点,距离更加动态。

您可以使按钮“alignParentLeft”和“alignParentRight”使它们与屏幕的右侧和左侧对齐。但是,我仍然无法在两个视图之间获取文本。

您可以在xml文件中为布局执行此操作。使它成为水平布局并首先添加第一个按钮,然后是文本视图,然后是第二个按钮。稍后将发布xml作为示例。

    <RelativeLayout 
        android:id="@+id/LinearLayout01"
        android:orientation="horizontal" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="button1" 
            android:layout_alignParentLeft="true"
            android:layout_marginRight="10px"
            android:id="@+id/button1button"></Button>
        <EditText 
            android:layout_height="wrap_content" 
            android:id="@+id/firstedittext"
            android:layout_toRightOf="@id/button1button"
            android:layout_marginRight="10px"
            android:layout_width="wrap_content"></EditText>
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/firstedittext"
            android:text="button2" 
            android:id="@+id/button2button"></Button>
    </RelativeLayout>

答案 1 :(得分:19)

这样就可以了。你需要的是绝对的引力。这个也适用于所有Android屏幕尺寸。我认为你不需要使用任何边距或填充物,一旦你的孩子有内容,它们就会弄乱你(边缘在选择它们方面是相对的,也就是说:当你的文字较少时,你想要一个较小的边距。 ..在翻译,新功能,替换等过程中经常发生..)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="button1" 
        android:layout_alignParentLeft="true"/>
    <EditText 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:id="@+id/firstedittext"
        android:layout_centerInParent="true"/>
    <Button 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button2" 
        android:layout_alignParentRight="true"/>
</RelativeLayout>

答案 2 :(得分:0)

这是我在LinearLayout上的代码。希望对你有帮助!

<?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="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:text="Button1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:ems="10"
            android:text="Chao cac ban" >

            <requestFocus />
        </EditText>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:text="Button2" />
    </LinearLayout>

</LinearLayout>