1

私は現在、本に従ってAndroid開発を学び、Android Studioを使用して作成し、テスト用にNexus 4デバイスを使用しています。レイアウト プレビューアを使用して、レイアウトが適切かどうかをテストしています。

レイアウトのスクリーンショットと、Android Studio プレビューアでの表示方法を次に示します。サイズが大きくてすみません。

ここに画像の説明を入力

これは、違いを示すために私の Nexus 4 デバイスから取得したスクリーンショットです。

ここに画像の説明を入力

ご覧のとおり、EditText フィールドはプレビュー上では一列に表示されていますが、デバイス上では一列に並んでいません。2 つの画像を比較したところ、EditText を除いて、残りの要素は本来あるべき位置に配置されています。レイアウトは、2 つの入れ子になった LinearLayout を左と右に使用しています。

私の EditText の 1 つが XML でどのように定義されているかを次に示します。他のすべては、異なる ID を持つこれのコピーです。

<EditText android:id="@+id/editTextColonies"
          android:inputType="number"
          android:ems="12"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_marginTop="12dp"/>

これが私のコード、私のデバイス、または単純な Android Studio によって引き起こされたのかどうか疑問に思っています。解決策を事前に感謝します。

4

2 に答える 2

2

可能であれば RelativeLayout に切り替えてから、android:layout_toRightOf および android:layout_below XML タグを定義できます。GUI を使用して RelativeLayout でオブジェクトを配置するのは非常に面倒なのでお勧めしません。XML で配置する方が簡単です。

于 2013-07-23T19:39:13.270 に答える
0

EditTexts の隣に Buttons の行を作成します。各行は LinearLayout または RelativeLayout である必要があり、これらの行ごとに android:height="wrap_content" を設定する必要があります。ボタンの編集テキストのペアをそれぞれに入れます。

<LinearLayout
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       xmlns:android="http://schemas.android.com/apk/res/android">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="bottom" >

         <Button
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="@string/button_name_colonists"
           android:id="@+id/colonistsButton"/>

         <EditText android:id="@+id/editTextColonists"
                android:inputType="number"
                android:ems="12"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="12dp"/>

    </LinearLayout>

</LinearLayout>

一般的に繰り返される行などのレイアウトを再利用するために注目すべきものは、Google によるインクルードに関するこのリンクです。

于 2013-07-23T19:47:59.733 に答える