3

有什么方法可以根据 px 在 EditText 中从左到右设置光标位置。

我使用此代码

EditText etEmail = (EditText) findViewById(R.id.et_email);
etEmail.setText("Email");
etEmail.setSelection(2);

它可以工作,但电子邮件文本不会被删除。所以我etEmail.setText("Email")改为etEmail.setHnt("Email")

像这样

EditText etEmail = (EditText) findViewById(R.id.et_email);
etEmail.setHint("Email");
etEmail.setSelection(2);

但它错误。

有没有办法在 EditText 中设置光标的位置?

这是第一次加载

在此处输入图像描述

这是我想要的

在此处输入图像描述

<EditText
            android:id="@+id/et_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/fillbox"
            android:hint="Email"
            android:ems="10"
            android:inputType="textEmailAddress" />
4

2 回答 2

6

您可以paddingLeft在 XML 中设置属性

  <EditText 
    android:layout_width="90dp"
    android:layout_height="70dp"
    android:text="BBBBB"
    android:hint="AAAAAAAAAAAAAAAAAAAA"
    android:paddingLeft="30dp"/>

或从代码中设置

EditText edt = (EditText)findViewById(R.id.edt);

        edt.setPadding(2, 0, 0, 0); //int left, int top, int right, int bottom

在真实设备上检查在此处输入图像描述

于 2012-12-05T03:50:01.493 回答
3

如果您希望 edittext 应该在中间而不是使用 this: edt.setPadding(5, 5, 5, 5);,如果您 edittext 应该在左侧或右侧留下一些间隙而不是执行以下操作:edt.setPadding(5, 0, 0, 0);

将此添加到您的 xml 文件中:

android:hint="Email" android:paddingLeft="20dp"

在此处输入图像描述

于 2012-12-05T04:04:50.657 回答