0

小さな問題があります。以下の画像を参照してください。

ここに画像の説明を入力

edittext の上に TextView1 を配置する際に問題が発生したため、このフォーラムで優れた解決策を確認しました。を使用してandroid:layout_above="@id/edittext"いましたが、動作していないようです。それから私は試してみandroid:layout_below="@id/textview"ましたが、うまくいきました。しかし今、私は別の問題を抱えています。下の edittext の上部中央に TextView1 を配置できません。私は 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>
4

3 に答える 3

1

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>
于 2012-11-30T13:52:48.273 に答える
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" />
于 2012-11-30T13:38:25.130 に答える
0

android:layout_centerInParent="true" を使用してテキストボックスを中央に配置し、これを行うために相対レイアウトも使用します。

于 2012-11-30T13:46:59.820 に答える