我有一个将inputType
设置为textPassword
的EditText。
我希望输入将是从左到右的数字,但我想将提示对齐EditText的右侧。
当我尝试gravity=right
时,它看起来没问题但是当用户点击EditText时,光标位于最左边的位置,他无法删除文本。如果他想删除文本,他需要将光标放在最正确的位置。
知道如何享受这两个世界吗?
将EditText与inputType=textPassword
一起使用,提示右对齐并从左到右插入数字?
注意:使用android时,它似乎是Android框架中的一个错误:inputType =“textPassword”:https://code.google.com/p/android/issues/detail?id=201471
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/txt_password"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:hint="סיסמא"
android:gravity="right" />
感谢
答案 0 :(得分:0)
EditText用于将提示文本与用户输入的文本对齐。通过将图像和文本放在EditText的右侧,我完成此操作的方法就是定义另一个与其右侧对齐的视图。
您需要让父视图成为RelativeLayout才能执行此操作,但效果很好:
<EditText android:id="@+id/test"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView android:id="@+id/hint"
android:text="Something"
android:layout_alignRight="@id/test"
android:layout_alignBottom="@id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
答案 1 :(得分:0)
我想完成@Greg Ennis 我希望这可以帮到你 我使用EditText作为密码,使用TextView,如下所示:
EditText edtPassword;
TextView txtHint;
edtPassword = (EditText) findViewById(R.id.password);
txtHint = (TextView) findViewById(R.id.hint);
edtPassword.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String enterPass = edtPassword.getText().toString();
if(start == 0){
txtHint.setHint(R.string.hint_password);
}else {
txtHint.setHint("");
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
我在onCreate方法中编写以下代码,以便在输入密码时隐藏提示TextView:
urls.py