两个EditText字段中的一个未显示

时间:2016-03-10 14:18:11

标签: android android-layout dialog android-edittext

我正在创建一个android对话框,其中包含以下XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="200dp"
    android:background="#FFFFFF">


    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/name"
        android:maxLines="1"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:hint="Enter Name" />

    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/email"
        android:maxLines="1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/name"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:hint="Enter E-Mail" />

    </android.support.design.widget.TextInputLayout>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/addIt"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

然而,当我启动并运行它时, 标识为EditText的{​​{1}}正在显示,但标识为name的{​​{1}}未显示。

此外,在所考虑的XML的** Design *部分,它显示错误 email

而且,当我运行它时,我也会在日志中收到错误:

Paint.setShadowLayer is not supported

任何人都可以告诉我这个问题是什么以及如何解决它

2 个答案:

答案 0 :(得分:1)

试试这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="200dp"
                android:background="#FFFFFF">


    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/nameLayout">

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/name"
            android:maxLines="1"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:hint="Enter Name" />

    </android.support.design.widget.TextInputLayout>

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/emailLayout"
        android:layout_below="@+id/nameLayout">

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/email"
            android:maxLines="1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"

            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:hint="Enter E-Mail" />

    </android.support.design.widget.TextInputLayout>

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/addIt"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
</RelativeLayout>

RelativeLayout中,我们定义了孩子们的位置。

例如,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<Button
    android:id="@+id/btnButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button 1"/>

<Button
    android:id="@+id/btnButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button 2"
    android:layout_toRightOf="@+id/btnButton1"/>

 <Button
    android:id="@+id/btnButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button 3"
    android:layout_below="@+id/btnButton1"/>
</RelativeLayout>

此处, Button2 将位于 Button1 的右侧, Button3 位于 Button1 的下方。< / p>

在您的情况下,nameemail相互重叠,因为没有正确定义位置。

答案 1 :(得分:0)

好的修好了!

在ID为email

的EditText中

android:layout_width="wrap_content"

必须改为

android:layout_width="match_parent"