我的布局上有一个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="vertical"/>
但是,我可以看到滚动条但不能用鼠标/触摸滚动它。 我认为如果我把相应的监听器放在TextView上它可能会有效。显然,事实并非如此。
EditText et = (EditText)findViewById(R.id.entryIdea);
et.setMovementMethod(new ScrollingMovementMethod());
你能帮助我吗?
提前非常感谢你。 森美
答案 0 :(得分:7)
在您的XML中尝试将EditText
高度设置为不在layout_height
中,而是使用android:lines
属性(顺便说一句,在设置任何大小时,使用sp通常不是一个好习惯字体大小。在这种情况下使用dp / dip更自然。)
同时将layout_height
设为wrap_content
。否则,即使没有在代码中指定移动方法,您呈现的XML(以及我提到的更改)也能正常工作。
当然,当EditText中实际的文本行数大于那个时,滚动条会出现,如android:lines属性所示。
答案 1 :(得分:3)
参考此link
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;
}
});
答案 2 :(得分:3)
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;
}
});
答案 3 :(得分:2)
使用它:
android:maxLines="5"
xml文件的属性。然后滚动条属性将起作用。
答案 4 :(得分:1)
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;
}
});
答案 5 :(得分:0)
您的xml文件使用:
android:maxLines="5"
答案 6 :(得分:0)
在xml文件中使用:
机器人:MAXLINES =&#34; 5&#34; android:scrollbars =&#34; vertical&#34;
并在.java文件中添加
edt_text.setMovementMethod(new ScrollingMovementMethod());