定位在相对布局中不起作用

时间:2012-11-30 13:34:36

标签: android layout relative

我的小问题。请看下面的图片:

enter image description here

我在编辑文本上面定位TextView1时遇到了问题,所以我检查了这个论坛以获得很好的解决方案。我正在使用android:layout_above="@id/edittext",但它似乎无效。然后我尝试android:layout_below="@id/textview",它运作得很好。但现在我还有其他问题。我无法将TextView1对齐在下面的edittext的顶部中心。我尝试了layout_align选项,但大多数都抛出异常“一些循环的东西”。

渔获物在哪里?下面是我的XML(相对布局)

 <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center"
    android:padding="10dp" >

    <TextView
       android:id="@+id/workingTimeTV"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"    
       android:text="TextView1" />

     <EditText
        android:id="@+id/hoursET"
        android:layout_width="100dp"
        android:text="1"
        android:gravity="center"
        android:maxLength="6"
        android:layout_below="@id/workingTimeTV"
        android:layout_height="wrap_content"
        android:inputType="number" >
        <requestFocus />
    </EditText>

    <TextView
       android:id="@+id/hoursTV"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:textSize="25sp"
       android:layout_toRightOf="@id/hoursET"
       android:layout_alignBaseline="@id/hoursET"
       android:text="h" /> 
</RelativeLayout>

3 个答案:

答案 0 :(得分:0)

以下代码可以帮助您

<TextView
    android:id="@+id/workingTimeTV"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:text="TextView1" />

答案 1 :(得分:0)

使用android:layout_centerInParent =“true”将文本框置于中心,并使用相对布局来执行此操作。

答案 2 :(得分:0)

问题是你假设如果将 android:gravity="center" 设置为将中心对齐,但它不适用于相对布局,那么你使用 android:layout_centerVertical="true" 每个孩子无论你想要在中心位置。修改后的代码将满足您的期望。

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp" >

        <TextView
            android:id="@+id/workingTimeTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:text="TextView1" />

        <EditText
            android:id="@+id/hoursET"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_below="@id/workingTimeTV"
            android:layout_centerHorizontal="true"
            android:gravity="center"
            android:inputType="number"
            android:maxLength="6"
            android:text="1" >

            <requestFocus />
        </EditText>

        <TextView
            android:id="@+id/hoursTV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@id/hoursET"
            android:layout_toRightOf="@id/hoursET"
            android:text="h"
            android:textSize="25sp" />
    </RelativeLayout>