我正在创建两个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" />
答案 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。