为什么edittext的宽度不同

时间:2013-06-04 11:53:53

标签: android android-layout android-edittext

我正在创建两个edittext。除输入类型外,所有属性都相同。一个是电子邮件,另一个是密码。如果我删除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" />

enter image description here

2 个答案:

答案 0 :(得分: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的大小。

答案 1 :(得分:1)

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