如何将editText游标位置与android:hint的位置分开?

时间:2013-07-11 22:21:49

标签: android xml user-interface android-ui

这是我的EditText:

<EditText
        android:id="@+id/note"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:cursorVisible="false"
        android:inputType="textMultiLine"
        android:lines="25"
        android:scrollHorizontally="false"
        android:hint="Type note here" />

提示的位置在中心,我使用android:gravity =“center”实现了这一点。我希望从左上角输入我的文本,但由于重力,这不会发生。我有什么方法可以做到吗?

2 个答案:

答案 0 :(得分:0)

您可以使用TextWathcer监控输入文字的时间,然后将TextView的严重程度更改为您想要的重力:

textEdit.addTextChangedListener(new TextWatcher(){

    @Override
    public void afterTextChanged(Editable editable)
    {
    }

    @Override
    public void beforeTextChanged(CharSequence text, int start, int count, int after)
    {

    }

    @Override
    public void onTextChanged(CharSequence arg0, int start, int before, int count)
    {
         textEdit.setGravitiy("to what ever you want");
    }

});

在进行这些更改之前,您可能想要检查edittext是否为空。

答案 1 :(得分:0)

您可以通过在点击时更改EditText的重力来以编程方式执行此操作。示例(不确定它是否正常工作,未对其进行测试):

editText = (EditText) findViewById(R.id.note);
editText.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        v.setGravity(Gravity.LEFT);
    }

});