2

这是我的编辑文本:

<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" 实现了这一点。我希望从左上角输入我的文本,但由于重力,这不会发生。有什么办法我可以做到这两点吗?

4

2 回答 2

0

您可以使用 a 监控何时输入文本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 是否为空。

于 2013-07-11T22:41:38.807 回答
0

您可以通过更改EditText单击时的重力来以编程方式执行此操作。示例(不确定它是否准确,没有测试它):

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

});
于 2013-07-11T22:45:41.967 回答