如何使edittext可滚动,多行并关闭自动建议?

时间:2016-12-31 07:50:16

标签: android android-edittext

我正在实现一个编程语言代码编辑器,我需要EditText水平滚动也可以多行,我想关闭autocorrectautosuggest。假设,我想写

int main(){ 
    printf("This is an awesome platform! I can get any problem solved here!");
}

然后EditText应该以完全相同的方式显示。如下图所示

screenshot

该行末尾的点表示它应该可以水平滚动。

我试过这个

<EditText
    android:layout_below="@id/label_code"
    android:id="@+id/et_code"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:inputType="textNoSuggestions|textMultiline"
    android:gravity="top"
    android:scrollHorizontally="true"
    android:background="@drawable/square_border_unselected"
    android:padding="15dp" />

但在这种情况下,水平滚动不起作用。如果文本的长度大于屏幕大小,则文本将转到下一行。

是否有任何解决方案可以在EditText中实现所有这三项功能?

编辑#1:

如果我不使用textMultiline,那么我可以实现水平滚动的EditText

更新#1

这不是完美的解决方案,但通过这个我实现了我想要的目标。

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:layout_width="wrap_content"
        android:minEms="1000"
        android:layout_height="wrap_content"
        android:minHeight="250dp"
        android:inputType="textNoSuggestions|textMultiLine"
        android:gravity="top" 
        android:padding="15dp" />
</HorizontalScrollView>

5 个答案:

答案 0 :(得分:0)

试试这个:

View root = inflater.inflate(R.layout.fragment_article, container, false);
ListView listView = (ListView) root.findViewById(R.id.articleListView);

return root;

android:scrollbars = "vertical" xml。

答案 1 :(得分:0)

在您的edittext中尝试这些行          机器人:的inputType =&#34; textMultiLine&#34;          机器人:MAXLINES =&#34; 10&#34;          机器人:滚动条=&#34;垂直&#34;

答案 2 :(得分:0)

android:inputType="text"将为您完成这项工作!

<EditText
            android:text="This is an awesome platform! I can get any problem solved here!"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:background="#876"
            android:imeOptions="actionDone"
            android:inputType="text"
            android:paddingLeft="2dp"
            android:textColor="#FFFFFF"/>

编辑:这就是你想要的!多线水平滚动。

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="#876"
        android:paddingLeft="2dp"
        android:text="This is an awesome platform! I can get any problem solved here!"
        android:textColor="#FFFFFF" />

</HorizontalScrollView>

out put:

enter image description here

EDIT3 :这只不过是因为你很懒。调整下面的界限!

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent">
      <EditText
          android:background="#789"
          android:inputType="textMultiLine"
          android:layout_width="500dp"
          android:layout_height="200dp"
          android:textColor="#FFFFFF" />
  </LinearLayout>

</HorizontalScrollView>

干杯!

答案 3 :(得分:0)

尝试将您的editText放在滚动视图中

答案 4 :(得分:0)

在保留多行文本的同时删除了建议栏和建议栏的XML属性组合如下:

&#13;
&#13;
android:privateImeOptions="nm"
android:inputType="textNoSuggestions | textMultiLine"
&#13;
&#13;
&#13;

&#13;
&#13;
android:privateImeOptions="nm"
android:inputType="textFilter | textMultiLine"
&#13;
&#13;
&#13;