为什么我的EditText在Android中将Width和Height设置为wrap_content后水平或垂直展开?

Ani*_*tha 3 java xml android android-layout

我是android的新手.所以我正在努力解决以下问题.

1. android:layout_width = "wrap_content"在EditText中设置后,它被垂直展开.

2. android:layout_width="180dp"在EditText中设置后,它被水平扩展.

有没有设置我的EditText固定?例如:如果要在EditText中键入长电子邮件地址,则文本的字体大小应基于长文本而不是EditText进行扩展而缩小.有没有可能完成这项任务?

这是我的代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"                            android:layout_width="match_parent"
android:layout_height="match_parent" 

tools:context="com.vadmin.myrx.SendReport">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Doctor Email"
    android:textStyle="bold"
    android:id="@+id/textView1"
    android:layout_marginTop="75dp"
    android:layout_marginLeft="25dp"
    android:layout_marginStart="25dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:hint="example@xyz.com"
    android:padding="3dp"
    android:background="@drawable/text_oval"
    android:id="@+id/textView2"
    android:layout_alignBottom="@+id/textView1"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Phone"
    android:textStyle="bold"
    android:id="@+id/textView3"
    android:layout_marginRight="24dp"
    android:layout_marginEnd="24dp"
    android:layout_marginTop="44dp"
    android:layout_below="@+id/textView1"
    android:layout_alignRight="@+id/textView1"
    android:layout_alignEnd="@+id/textView1" />

<EditText
    android:layout_width="180dp"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:hint="+91 0000 000 000"
    android:padding="3dp"
    android:id="@+id/textView4"
    android:layout_alignTop="@+id/textView3"
    android:layout_alignLeft="@+id/textView2"
    android:layout_alignStart="@+id/textView2"
    android:background="@drawable/text_oval"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Report"
    android:textStyle="bold"
    android:id="@+id/textView5"
    android:layout_marginTop="45dp"
    android:layout_below="@+id/textView4"
    android:layout_alignRight="@+id/textView3"
    android:layout_alignEnd="@+id/textView3" />

<Spinner
    android:layout_width="250dp"
    android:layout_height="48dp"
    android:id="@+id/spinner"
    android:spinnerMode="dropdown"
    android:background="@android:drawable/btn_dropdown"
    android:layout_alignTop="@+id/textView5"
    android:layout_alignLeft="@+id/textView4"
    android:layout_alignStart="@+id/textView4" />

   <Button
       android:layout_width="wrap_content"
       android:layout_height="40dp"
       android:text="Save"
       android:layout_marginTop="57dp"
       android:id="@+id/button"
       android:layout_below="@+id/spinner"
       android:layout_toRightOf="@+id/textView3"
       android:layout_toEndOf="@+id/textView3"
       android:textColor="#000000"
        android:background="@drawable/oval"

       />
Run Code Online (Sandbox Code Playgroud)

谢谢Anita

在此输入图像描述

Tus*_*gna 5

使用此布局而不是您的布局:

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.vadmin.myrx.SendReport" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:orientation="horizontal"
        android:weightSum="2" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="2dp"
            android:text="Doctor Email"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="15sp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
            android:hint="example@xyz.com"
            android:inputType="textWebEmailAddress"
            android:maxLength="20"
            android:padding="3dp"
            android:singleLine="true"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:orientation="horizontal"
        android:weightSum="2" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="2dp"
            android:layout_weight="1"
            android:text="Phone"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="15sp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:layout_weight="1"
            android:hint="+91 0000 000 000"
            android:maxLength="12"
            android:inputType="phone"
            android:padding="3dp"
            android:singleLine="true"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="15dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginRight="2dp"
            android:text="Report"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="15sp"
            android:textStyle="bold" />

        <Spinner
            android:id="@+id/spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:spinnerMode="dropdown" />
    </LinearLayout>

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_below="@+id/spinner"
        android:layout_gravity="center"
        android:layout_marginTop="57dp"
        android:layout_toEndOf="@+id/textView3"
        android:layout_toRightOf="@+id/textView3"
        android:text="Save"
        android:textColor="#000000" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我已经使用了你的XML并对其进行了修改.只需添加图片即可.我删除了它,因为我没有它们.

编辑:我已添加android:inputTypeeditTexts +并限制电话号码(12)和电子邮件(20),您可以根据自己更改它们.