Android EditText垂直滚动问题

时间:2011-05-25 11:47:32

标签: android

我正在使用某些预定义大小的EditText,但是当用户输入更多文本然后放入文本框时,他们无法通过触摸滚动文本。滚动确实适用于轨迹球。

我该怎么做才能解决这个问题?

5 个答案:

答案 0 :(得分:24)

如果您希望文本水平滚动,请在EditText XML标记中定义:

android:scrollHorizontally="true"

如果您想要垂直滚动,请在EditText XML标记中定义:

android:scrollbars = "vertical"

希望这会有所帮助。

答案 1 :(得分:14)

进行如下更改以在EditText中获取滚动条

questionEntry.setScroller(new Scroller(myContext)); 
questionEntry.setMaxLines(1); 
questionEntry.setVerticalScrollBarEnabled(true); 
questionEntry.setMovementMethod(new ScrollingMovementMethod()); 

How to make edittext in Android scrollable?

如果您认为我的回复对您有帮助,不要忘记投票

由于 迪帕克

答案 2 :(得分:8)

  

在java中

 EditText dwEdit = (EditText) findViewById(R.id.DwEdit);       
 dwEdit.setOnTouchListener(new OnTouchListener() {
       public boolean onTouch(View view, MotionEvent event) {
            // TODO Auto-generated method stub
            if (view.getId() ==R.id.DwEdit) {
                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
            }
            return false;
        }
    });
  

在xml中

<EditText
android:id="@+id/DwEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="10"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical" 
android:overScrollMode="always"
android:inputType="textCapSentences">
</EditText> 

答案 3 :(得分:0)

如果父级是NestedScrollView或ScrollView,则一种在edittext中进行可滚动文本的简单方法

XML代码

(

对Kotlin使用以下代码

android:gravity="top"
android:inputType="text|textMultiLine"
android:lines="5"

答案 4 :(得分:-1)

@Sunil Kumar Sahoo回答给我工作,但我不得不删除

questionEntry.setMaxLines(1);