如何在EditText中更改TAB字符的宽度

时间:2018-06-01 12:00:28

标签: android android-edittext

EditText似乎只使用一个空格字符来显示TAB字符。如何强制它使用两个空格字符呢?

TAB字符通常会查看(例如桌面:vim)文本编辑器,就好像有2个空格一样。但从编辑的角度来看,它仍然是一个角色。我的意思是如果你必须删除它,你仍然只需删除一个字符而不是两个字符。 EditText可以以相同的方式运行吗?

我试图找到一个类似于' tabWidth'在布局文件的相应部分中,但是包含' tab'的唯一属性他们的名字一直是:

editabletextIsSelectable

<EditText
        android:id="@+id/textArea"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:maxLength="10000000"
        android:background="#ffffff"
        android:tab...
        />

1 个答案:

答案 0 :(得分:0)

使用TextWatcher

textArea.addTextChangedListener(object : TextWatcher{
        override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
        }

        override fun onTextChanged(p0: CharSequence, p1: Int, p2: Int, p3: Int) {
             // append whitespace after each character here
             textArea.append(" ")
        }

        override fun afterTextChanged(p0: Editable?) {
        }
    })

ps:这是一个Kotlin代码,但你明白了