我对此功能非常绝望。 我尝试了几乎所有的东西,以使这些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>
它困扰着我的梦想......
编辑:&gt;在隧道尽头发光。
虽然我专注于xml ..一个新的干净项目向我指出EditText textMessage = (EditText)findViewById(R.id.callofedittext); textMessage.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
导致了我的所有问题。不是特别是xml中的属性。
答案 0 :(得分:21)
从这个comment开始,inputType也在代码中设置:
textMessage.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE |
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
这实际上不正确,因为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);
有关这些标记如何工作的官方详细信息,请参阅InputType和TextView - android:inputType上的Android开发人员文档
我不确定为什么设计决定是这样的。就个人而言,我认为他们应该隐藏它们如何表示它们的标志(作为int / bit标志),而是为它们的公共接口设置了InputType的枚举和/或子类。
答案 1 :(得分:6)
嘿,你必须在xml文件中添加以下代码..
android:gravity="top"
android:maxLines="4"
android:inputType="textMultiLine"
android:scrollbars="vertical"
android:textSize="16sp"
android:padding="10dp"
你必须把活动文件......
edtComment = (EditText) findViewById(R.id.edtComment);
edtComment.setMovementMethod(new ScrollingMovementMethod());
这对我有用,希望它对你有用.....
答案 2 :(得分:0)
您是否尝试过使用
android:layout_height="wrap content"
而不是
android:layout_height="match_parent"