【问题标题】:text appears in limited width even after using wrap_content即使在使用 wrap_content 之后,文本也会以有限的宽度出现
【发布时间】:2017-02-11 05:21:04
【问题描述】:

我已在 MainActivity 中将所有组件的宽度设置为 wrap_content,但 wrap_content 不起作用,我的意思是当我输入 EditText 时,文本仅以有限的宽度显示。

我希望TextViewsEditTexts 根据输入文本长度扩展它们的宽度。

请帮忙,我的代码有什么问题?

MainActivity XML:

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.appdeveloper.appname.MainActivity"
    android:background="#ff003b"
    android:focusableInTouchMode="true">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/appLogoImage_id"
        android:src="@drawable/applogo"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="You Can&apos;t Proceed Without Inserting Primary Sim (SIM-1) In Your Device!"
        android:id="@+id/regNoSim_id"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:visibility="invisible"
        android:layout_below="@+id/appLogoImage_id"
        android:layout_marginTop="50dp"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="REGISTRATION"
        android:id="@+id/regTitle_id"
        android:layout_below="@+id/appLogoImage_id"
        android:textColor="#ffffff"
        android:textAlignment="center"
        android:layout_marginTop="50dp"
        android:visibility="invisible"
        android:textStyle="bold"
        android:layout_centerHorizontal="true"/>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/loginPassword_id"
        android:overScrollMode="never"
        android:scrollbars="none">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textNoSuggestions|text"
                android:ems="10"
                android:id="@+id/regName_id"
                android:hint="Your Name"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_marginTop="0dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:ems="10"
                android:id="@+id/regPassword_id"
                android:layout_below="@+id/regName_id"
                android:hint="Application Password"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:ems="10"
                android:id="@+id/regVerifyPass_id"
                android:layout_below="@+id/regPassword_id"
                android:hint="Verify Password"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:ems="10"
                android:id="@+id/regRingCode_id"
                android:hint="Ringing Codeword"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_below="@+id/regVerifyPass_id"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textPassword"
                android:ems="10"
                android:id="@+id/regLocationCode_id"
                android:hint="Location Codeword"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_below="@+id/regRingCode_id"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="phone"
                android:ems="10"
                android:id="@+id/regNum1_id"
                android:hint="1st Trusted Number"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_below="@+id/regLocationCode_id"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="phone"
                android:ems="10"
                android:id="@+id/regNum2_id"
                android:hint="2nd Trusted Number"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_below="@+id/regNum1_id"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="phone"
                android:ems="10"
                android:id="@+id/regNum3_id"
                android:hint="3rd Trusted Number"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_below="@+id/regNum2_id"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:inputType="textEmailAddress"
                android:ems="10"
                android:id="@+id/regEmail_id"
                android:hint="Email Address"
                android:textAlignment="center"
                android:textColor="#ffffff"
                android:textColorHint="#000000"
                android:background="@android:color/transparent"
                android:layout_below="@+id/regNum3_id"
                android:layout_marginTop="10dp"
                android:textCursorDrawable="@drawable/white_cursor"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"/>

            <Button
                android:layout_width="230dp"
                android:layout_height="wrap_content"
                android:text="Register"
                android:id="@+id/regButton_id"
                android:visibility="invisible"
                android:layout_centerHorizontal="true"
                android:layout_below="@+id/regEmail_id"
                android:layout_marginTop="15dp"
                android:layout_marginBottom="20dp" />

        </RelativeLayout>
    </ScrollView>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/loginPassword_id"
        android:textAlignment="center"
        android:hint="Enter Application Password"
        android:textColor="#ffffff"
        android:textColorHint="#000000"
        android:layout_below="@+id/appLogoImage_id"
        android:layout_marginTop="50dp"
        android:background="@android:color/transparent"
        android:visibility="invisible"
        android:textCursorDrawable="@drawable/white_cursor"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Forgotten Password?"
        android:id="@+id/forgottenPass_id"
        android:textAlignment="center"
        android:textColor="#ffffff"
        android:visibility="invisible"
        android:layout_below="@+id/loginPassword_id"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="15dp"
        android:minHeight="30dp" />

</RelativeLayout>

【问题讨论】:

  • 您是否需要 EditText 来填充屏幕宽度?您现在有什么要求,可以添加示例图片吗
  • 为什么两个文本视图都低于图像视图。不应该互相重叠吗?
  • @Sajal Ali 检查我的答案,它会很好地工作^_^

标签: android layout android-edittext textview


【解决方案1】:

因为你设置了android:ems="10",这就是限制删除它,看看有什么不同!

由于您的wrap_content,您认为它已包装并调整其大小,但您已设置android:ems

使TextView 正好有这么多 em 宽。

参考:https://developer.android.com/reference/android/widget/TextView.html#attr_android:ems

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2020-02-03
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多