您好我正在使用包含登录屏幕的Android应用程序。在我的登录屏幕中,我有用户名和密码编辑文本字段。在edittext中,我需要提示为“输入您的用户名”中心对齐,所以我将重力设置为edittext字段的“中心”,但现在问题是光标在中心位置也可见,我需要光标在左侧定位。我也尝试了以下编码。
edtUserName.setSelection(1);
This is my xml code:
<EditText
android:id="@+id/edt_login_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_txt_field"
android:ellipsize="start"
android:focusableInTouchMode="true"
android:hint="Enter Username"
android:maxLines="1"
android:singleLine="true"
android:textStyle="italic"
android:typeface="serif" android:gravity="center">
</EditText>
Please help me to solve this problem. Thanks in advance.
答案 0 :(得分:3)
你可以以编程方式实现它!
yourEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 0) {
// puts the caret after the text when unempty
yourEditText.setGravity(Gravity.CENTER);
} else {
// puts the caret at the beginning of the `EditText` when empty
yourEditText.setGravity(Gravity.START | Gravity.CENTER_VERTICAL);
}
}
}
答案 1 :(得分:2)
你可以试试这个
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:textAlignment="center"
android:ellipsize="end"
android:gravity="center"/>
答案 2 :(得分:0)
我认为这会对你有帮助。
android:gravity设置其使用的View内容的重力。 android:layout_gravity在其父级中设置视图或布局的重力。 例如:Example
答案 3 :(得分:0)
改变引力:
android:gravity="center_vertical"