1

我目前正在按照一本书学习 Android 开发,并使用 Android Studio 进行创建并使用 Nexus 4 设备进行测试。我一直在使用布局预览器来测试我的布局是否好用。

这是布局的屏幕截图以及它在 Android Studio 预览器中的显示方式。对不起大尺寸。

在此处输入图像描述

这是从我的 Nexus 4 设备截取的屏幕截图,以显示差异。

在此处输入图像描述

如您所见,EditText 字段在预览中显示为在线,但在设备上显示为离线。我比较了 2 张图像,其余元素都已到位,但 EditTexts 除外。布局使用 2 个嵌套的 LinearLayout,一左一右。

这是我在 XML 中定义的 EditText 之一。所有其他都是具有不同 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 旁边制作一排按钮。每行都应该是 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 回答