2

我正在创建两个编辑文本。除输入类型外,所有属性都相同。一个是电子邮件,另一个是密码。如果我删除android:inputType,宽度没有变化。

                <EditText
                    android:id="@+id/edittext_email"
                    android:layout_width="wrap_content"
                    android:layout_height="40dp"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/custom_edit"
                    android:ems="12"
                    android:hint="@string/email_address"
                    android:inputType="textEmailAddress"
                    android:paddingLeft="10dp" />

                <EditText
                    android:id="@+id/edittext_password"
                    android:layout_width="wrap_content"
                    android:layout_height="40dp"
                    android:layout_marginTop="10dp"
                    android:background="@drawable/custom_edit"
                    android:ems="12"
                    android:hint="@string/password"
                    android:inputType="textPassword"
                    android:paddingLeft="10dp" />

在此处输入图像描述

4

2 回答 2

6

正如您所说,问题是由在您的 xml 中将 inputType 设置为 textPassword 引起的(请注意,它也会更改文本的字体)。

试试这个解决方案:

1-将 inputType 保留为密码

2- 在包含 editText 的视图中添加以下代码:

EditText password = (EditText) findViewById(R.id.edittext_password);
password.setTypeface(Typeface.DEFAULT);
password.setTransformationMethod(new PasswordTransformationMethod());

这实际上会修复字体,并且希望也能修复edittext的大小。

于 2013-06-04T12:05:43.830 回答
1

不仅宽度不同,而且两个框的文字面也不同。这是因为输入类型密码。您可以将代码中的文本字体设置为password.setTypeface(Typeface.DEFAULT); 或不使用 wrap_content。

于 2013-06-04T12:14:31.447 回答