EditText Control未在Android应用中显示

时间:2013-09-20 05:29:37

标签: java android xml android-layout

我正在关注this教程,并说

  

所有视图的默认权重为0,因此如果指定任何权重   值大于0只到一个视图,然后该视图填充任何内容   在所有视图都获得所需空间后,空间仍然存在。所以,到   使用EditText元素填充布局中的剩余空间,   给它一个1的重量,让按钮没有重量。

您可以通过编写

来实现这一目标
<EditText
        android:layout_weight="1"
        ... />
我已经完成了。我还将layout_width设置为0dp,如教程所述。

现在,在Android Studio中,“预览”窗格中的所有内容都显示正常。但是当我调试我的应用时,EditText控件会显示。但是按钮出现在屏幕下方和最左边,好像EditText控件实际上已经填满整个屏幕宽度并将其向下推(除了EditText没有出现所以我无法确认这一点)。

我已经删除了weight属性并在其上设置了固定宽度,并且 让它显示,但很明显,这是不可取的。

为什么不出现EditText控件?

这是我的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:ignore="MergeRootFrame" android:orientation="horizontal">
    <EditText android:id="@+id/edit_message"
              android:layout_weight="1"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:hint="@string/edit_message" />

    <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/button_send" />


</LinearLayout>

如下所示,没有EditText控件。

enter image description here

2 个答案:

答案 0 :(得分:1)

试试这段代码:您的editText将涵盖appx。 70%,你的按钮将覆盖剩余的总宽度...实际上,如果你使用0dp宽度方法,你必须为所有视图设置它...

<EditText android:id="@+id/edit_message"
              android:layout_weight="3"
              android:layout_width="0dp"
              android:layout_height="wrap_content"
              android:hint="@string/edit_message" />

    <Button android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/button_send" />

答案 1 :(得分:1)

罪魁祸首就是你editText

android:layout_width="0dp"

替换为:

android:layout_width="107dip"