将视图限制在android中的左/右中心

时间:2013-07-09 18:53:37

标签: android android-layout relativelayout

有没有办法指定视图应严格位于中心左侧(或严格位于中心右侧)?我有两个textviews,一个用于LOGIN,另一个用于REGISTER。我有他们作为RelativeLayout的孩子。无论我做什么,我都无法让他们表现出来。在Eclipse的Graphical Layout中工作的一种配置仅显示真实设备上的注册按钮。这是

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/login_bckg"
    android:padding="10dip"
    tools:context=".LoginActivity" >
...

<View
        android:id="@+id/center_btns"
        android:layout_width="1dp"
        android:layout_height="20dp"
        android:layout_below="@id/text_fields"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/login_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/text_fields"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_toLeftOf="@id/center_btns"
        android:background="@drawable/btn_bkg"
        android:clickable="true"
        android:gravity="center"
        android:onClick="login"
        android:padding="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="Login"
        android:textColor="#FFFFFF"
        android:textSize="16sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/register_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@id/text_fields"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_toRightOf="@id/center_btns"
        android:background="@drawable/btn_bkg"
        android:clickable="true"
        android:gravity="center"
        android:onClick="register"
        android:padding="10dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:text="Register"
        android:textColor="#FFFFFF"
        android:textSize="16sp"
        android:textStyle="bold" />
...
</RelativeLayout>

如果我将它们设置为水平linearLayout的子项,我如何指定它们之间的关系才能使它工作?我已经尝试过了,但没有用。

1 个答案:

答案 0 :(得分:1)

我希望我可以将此作为评论发布,但我没有相应的代表......无论如何,要澄清一下,您是否希望这些项目在同一条线路上彼此相邻?如果是这样,LinearLayout应该可以正常工作......

<LinearLayout
    ...android:orientation="horizontal"
    android:gravity="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
/>

应该工作得很好。如果不是,您可以尝试使用权重,具体取决于您想要占用更多空间。要使权重起作用,您需要将两者的宽度都看作fill_parent。