Igo*_* K. 2 android scrollview textview
我有一个ScrollView包含LinearLayout各种元素的复合体,其中有几个TextView定义了maxHeight ,里面有一个长文本.我需要在内部TextView触摸和拖动时滚动文本,以及在ScrollView它们之外触摸和拖动时的正常滚动.
是否有一种适当而优雅的方式来做到这一点 - 如果可能的话 - 或者我是否必须弄脏并开始覆盖所onTouchEvent涉及的所有元素的处理程序?
UPD 1:从这一点来看,没有优雅的解决方案,并且必须重新考虑UI以仅包括一层可滚动元素.
所以它并不漂亮,但你可以从TextView扩展并阻止滚动视图滚动.除非你的文本视图足够大,否则它不是很好.使用此解决方案后,我们发现最好是有一个"显示更多"标签,用户可以点击该标签来显示完整的内容.无论如何,从TextView扩展并覆盖onTouchEvent方法:
public boolean onTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
this.getParent().requestDisallowInterceptTouchEvent(true);
}
if (ev.getAction() == MotionEvent.ACTION_UP) {
this.getParent().requestDisallowInterceptTouchEvent(false);
}
return super.onTouchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4388 次 |
| 最近记录: |