4

嗨,我正在使用包含登录屏幕的 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.
4

4 回答 4

5

你可以试试这个

<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:textAlignment="center"
android:ellipsize="end"
android:gravity="center"/>
于 2015-02-08T01:48:10.533 回答
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); 
        }
    }
}
于 2016-03-03T06:55:08.277 回答
0

我想这会对你有所帮助。

android:gravity 设置其使用的 View 内容的重力。android:layout_gravity 设置视图或布局在其父级中的重力。还有一个例子:例子

于 2012-10-22T10:49:31.800 回答
0

改变重力:

 android:gravity="center_vertical"
于 2012-10-22T10:56:01.503 回答