gpt4 book ai didi

android - 超过 15 个符号后如何将 EditText 拆分为 2 行

转载 作者:行者123 更新时间:2023-11-29 21:05:18 25 4
gpt4 key购买 nike

我有一个普通的 EditText,我想在用户输入超过 15 个符号时将其设为两行。我现在的解决方案是 XML 中的 EditText:

<EditText
android:id="@+id/enter_text_field"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:hint="@string/create_title_hint"
android:inputType="textCapCharacters"
android:gravity="center"
android:maxLength="30"
android:textAllCaps="true"
android:singleLine="false"
android:lines="2"
android:background="@null"
android:textColor="@android:color/white"
android:textSize="@dimen/text_size"
/>

我有一个用于文本更改的监听器,它的 onTextChanged 方法如下所示:

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!s.toString().contains("\n") && s.toString().length() > 14)
setText(s.toString()+"\n");

}

但它不起作用。实际上发生的是光标到达行的开头。正确输入超过15个符号后如何拆分?感谢您的想法。

最佳答案

我设法接近你正在寻找的东西:

<EditText
android:id="@+id/linkEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:ellipsize="end"
android:gravity="center"
android:hint="@string/create_title_hint"
android:freezesText="true"
android:imeOptions="actionNext"
android:inputType="textCapCharacters|textMultiLine"
android:lines="2"
android:background="@null"
android:maxLength="31"
android:nextFocusDown="@null"
android:selectAllOnFocus="true"
android:textColor="@android:color/black"
android:textSize="16sp" />

然后在代码上,我做了:

        @Override
public void afterTextChanged(Editable s) {
if(s.length() == 15){
mEditText.setText(s.toString()+"\n");
mEditText.setSelection(s.length()+1);
}

}

这将使 EditText 跳到下一行,一旦它有 15 个字符并将光标移动到文本的末尾。

关于android - 超过 15 个符号后如何将 EditText 拆分为 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24792035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com