首页 文章

有没有办法在EditText中设置从左到右2dp的光标位置

提问于
浏览
3

有没有办法根据px从左到右设置EditText中光标的位置 .

我用这个代码

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

它工作但电子邮件文本不删除 . 所以我将_2695250改为 etEmail.setHnt("Email")

像这样

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

但它错了 .

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

这是第一次加载

enter image description here

这是我想要的

enter image description here

<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" />

2 回答

  • 6

    您可以在XML中设置 paddingLeft 属性

    <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
    

    检查真实设备
    enter image description here

  • 3

    如果你想edittext应该在中间而不是使用这个: edt.setPadding(5, 5, 5, 5); ,如果你编辑文本应该在左侧或右侧留下一些空隙,而不是执行以下操作: edt.setPadding(5, 0, 0, 0);

    在xml文件中添加:

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

    enter image description here

相关问题