Tot*_*mus 6 android android-edittext
我对此功能非常绝望.我尝试了几乎所有的东西,以使这些EditTexts多线启用,但他们只是继续在一行上滚动整个EditText.
停止在EditText边框的末尾并移动到下一行有多难?
我有一个EditText和2个按钮的活动.其中一个按钮将预定的文本行添加到EditText.另一个将EditText的文本放入某种形式的对象中,稍后我会在应用程序中使用它.
但是我不能让这个多线功能工作..我试过限制大小.设置多行标志.禁用单行.给行和minLines一个随机数(10).禁用horizontals滚动EditText.但没有任何作用......
谁能告诉我,我到底做错了什么?我怎么能解决这个可怕的EditText憎恶.
这就是我现在的噩梦.
<EditText
android:id="@+id/callofedittext"
android:layout_width="wrap_content"
android:inputType="textMultiLine"
android:width="300dp"
android:minLines="10"
android:layout_height="wrap_content"
android:gravity="top|left"
android:textColor="@color/textWhite"
android:background="@color/textBlack"
android:paddingLeft="3dp"
android:singleLine="false"
android:scrollHorizontally="false"
>
<requestFocus />
</EditText>
Run Code Online (Sandbox Code Playgroud)
它困扰着我的梦想......
编辑:>在隧道尽头的光.
当我专注于xml时..一个新的清洁项目向我指出,这EditText textMessage = (EditText)findViewById(R.id.callofedittext); textMessage.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);引起了我的所有问题.不是特别是xml中的属性.
Tre*_*ens 23
从此注释中,inputType也在代码中设置:
textMessage.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE |
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
Run Code Online (Sandbox Code Playgroud)
这实际上是不正确的,因为TYPE_TEXT_FLAG_MULTI_LINE并且TYPE_TEXT_FLAG_CAP_SENTENCES只是标志,并且不包含实际的输入类型.为了使它们起作用,它们必须作为标志分层InputType.TYPE_CLASS_TEXT.如果没有此类型类标志,则编辑文本没有用于应用标志的基本输入类型类,并且默认为没有指定的输入类型.
因此,使用这两个标志设置输入类型的正确方法是:
textMessage.setInputType(InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_FLAG_MULTI_LINE |
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
Run Code Online (Sandbox Code Playgroud)
有关这些标志如何工作的官方详细信息,请参阅InputType和TextView上的Android Developer Docs - android:inputType
我不确定为什么设计决定是这样的.就个人而言,我认为他们应该隐藏它们如何表示它们的标志(作为int/bit标志),而是为它们的公共接口设置了InputType的枚举和/或子类.
嘿,你必须在xml文件中添加以下代码..
android:gravity="top"
android:maxLines="4"
android:inputType="textMultiLine"
android:scrollbars="vertical"
android:textSize="16sp"
android:padding="10dp"
Run Code Online (Sandbox Code Playgroud)
你必须把活动文件...
edtComment = (EditText) findViewById(R.id.edtComment);
edtComment.setMovementMethod(new ScrollingMovementMethod());
Run Code Online (Sandbox Code Playgroud)
这对我有用,希望它对你有用.....
| 归档时间: |
|
| 查看次数: |
6222 次 |
| 最近记录: |