Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在EditText Android中启用滚动条_Android_Scrollbar_Android Edittext - Fatal编程技术网

在EditText Android中启用滚动条

在EditText Android中启用滚动条,android,scrollbar,android-edittext,Android,Scrollbar,Android Edittext,我的版面上有一个编辑文本。以下是我目前拥有的属性: <EditText android:id="@+id/entryIdea" android:layout_width="fill_parent" android:layout_height="225sp" android:gravity="top" android:background="@android:drawable/editbox_background" android:scrollbars="

我的版面上有一个编辑文本。以下是我目前拥有的属性:

<EditText
   android:id="@+id/entryIdea"
   android:layout_width="fill_parent"
   android:layout_height="225sp"
   android:gravity="top"
   android:background="@android:drawable/editbox_background"
   android:scrollbars="vertical"/>
你们能帮我吗

事先非常感谢你。
Sammy

在XML中尝试设置
EditText
高度,而不是在
layout\u height
中,而是使用
android:lines
属性(顺便说一句,在设置除字体大小以外的任何大小时,使用sp通常不是一个好的做法。在这种情况下,使用dp/dip更自然)

同时将
layout\u height
设置为
wrap\u content
。否则,即使没有在代码中指定移动方法,您提供的XML(以及我提到的更改)也可以很好地为我工作

当然,当EditText中的实际文本行数大于android:lines属性中指示的行数时,滚动条将出现。

请参阅此

使用以下命令:

 android:maxLines="5"
属性,该属性用于xml文件。然后滚动条属性将起作用。

您的xml文件使用:

editText1.setOnTouchListener(new OnTouchListener() {

        public boolean onTouch(View view, MotionEvent event) {
            // TODO Auto-generated method stub
            if (view.getId() ==R.id.editText1) {
                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
            }
            return false;
        }
    });
android:maxLines="5"
在xml文件中使用:

android:maxLines="5"
android:maxLines=“5” android:scrollbars=“垂直”

并在.java文件中添加


setMovementMethod(新的ScrollingMovementMethod())

你需要检查你之前的问题,并将最佳答案标记为正确答案。当你在编辑文本中有足够的行时,它应该是可滚动的,因此需要滚动。您无需添加侦听器即可使其工作。你试过用很多行文本来填充它吗?只是为了记录,正如Coryffaeus(昵称btw)指出的,只有当你设置属性
滚动条
并且超过指定的行数时,滚动条才会显示。但是,在
行中
,即使您没有设置它,它也将始终滚动。
android:maxLines="5"
editText1.setOnTouchListener(new OnTouchListener() {

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