当前位置: 首页 > 知识库问答 >
问题:

当文本超过多行时,多行编辑文本不会滚动

干善
2023-03-14

我正在我的聊天屏幕上创建一个类似whatsapp的聊天应用程序,我有一个edittext,用户可以在其中输入他的消息。我想将其高度扩展到最多4行,然后如果文本超过第5行,编辑文本必须向下滚动显示新行。有时它可以工作,但有时编辑文本无法向下滚动。

 <com.vanniktech.emoji.EmojiEditText
                android:id="@+id/enter_msg_txt"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="9.2"
                android:background="@null"
                android:hint="@string/type_message"
                android:maxHeight="100dp"
                android:minHeight="30dp"
                android:singleLine="false"
                android:textSize="@dimen/btn_text" />

我已经搜索了很多,并检查了这些属性

android:inputType="textMultiLine"
            android:editable="true"
            android:enabled="true"
            android:minLines="1"
            android:maxLines="6"
            android:isScrollContainer="true"

但还是不走运我想可能有些渲染问题

共有3个答案

聂奇
2023-03-14

这对我来说很管用(试试你的观点)

>

  • 使用高度作为包装内容
  • 使用作为您想要的行计数,因此在向下滚动完成后

    <EditText
    android:id="@+id/reviewEditText"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:lines="3"
    android:scrollbars="vertical"
    />
    

    并确保windowSoftInputMode="调整大小"

  • 陆翰学
    2023-03-14

    使用这行代码

    <EditText
        android:inputType="textMultiLine"
        android:lines="int number" <!-- Total Lines prior display -->
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:scrollbars="vertical"/>
    
    陆宾白
    2023-03-14

    这个库可能会解决你的问题。https://github.com/ViksaaSkool/AutoFitEditText.试试看!

     类似资料:
    • 如何创建具有文本限制的多行edittext?我设置了edittext的maxLength,但它使edittext成为单行,如果我将inputType添加到textMultiLine,则设置为actionDone的imeOptions将不会显示。我不想为maxLines属性设置静态值。 而且,当编辑文本达到其极限时,键盘仍然允许文本,这使得删除文本变得困难。如何解决这个问题?

    • 问题内容: 我怎样才能让一个多可编辑的文本里面?支持单行,我们需要在弹出窗口中创建一个多行文本编辑框。 问题答案: 这是很好的环境…

    • 我已经试着解决了好几个小时了,但还是没能解决。我设置了这个editText,称为活动上的布局,并将其连接到活动上的变量,当您单击字段时,它会打开可视键盘,但当您按下一个键时,它会将您带到类似浏览器的搜索屏幕,而不只是更新editText的文本。 在我的xml编辑文本是: 在我这样做的活动中 我还是找不到办法让它不发生。你能帮助我吗?

    • 我想在用户在EditText中键入文本时将文本放入我的应用程序中的某个字符串中,并使用它来生动地在活动上显示它(在不同的视图中...) - 就像谷歌的实时/即时搜索工作一样...

    • 我正在使用多行EditText视图,它可以在输入中包含webUrl。为此,我使用

    • 是否有任何方法可以生成一行EditTextPreference?我认为默认情况下没有任何财产可以做到这一点。是否需要重写对象?有人做过这个吗?