Scrollview嵌套EditText,使其滑动
来源:互联网 发布:手机淘宝发货地筛选 编辑:程序博客网 时间:2024/06/05 17:33
<ScrollView android:id="@+id/sv_scrollview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fadingEdge="none" android:scrollbars="none" ><LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ><cn.ls.widget.ScrollviewEdit android:id="@+id/sv_feedback" android:layout_width="fill_parent" android:layout_height="100dip" android:layout_gravity="center" android:fadingEdge="none" android:scrollbars="none" android:visibility="visible" > <LinearLayout android:layout_width="fill_parent" android:layout_height="100dip" android:gravity="center" android:scrollbars="vertical" > <EditText android:id="@+id/et_feedback" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="13dip" android:layout_marginRight="13dip" android:clickable="true" android:enabled="false" android:focusable="false" android:gravity="top" android:scrollbars="vertical" android:singleLine="false" android:background="@null" android:text="" /> </LinearLayout> </cn.ls.widget.ScrollviewEdit> </LinearLayout> </ScrollView>
这里是自定义的Scrollview,当然你也可以使用原生的。
因为我的整个页面是在一个Scrollview中,所以这又涉及到Scrollview嵌套Scrollview的问题,所以需要屏蔽父级的Scrollview.
public class ScrollviewEdit extends ScrollView {private static final String TAG = "ScrollviewEdit"; private ScrollView parent_scrollview; public ScrollView getParent_scrollview() {return parent_scrollview;}public void setParent_scrollview(ScrollView parent_scrollview) {this.parent_scrollview = parent_scrollview;}public ScrollviewEdit(Context context) {super(context);}public ScrollviewEdit(Context context, AttributeSet attrs) {super(context, attrs);}int currentY;@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {LogUtils.i(TAG, "onInterceptTouchEvent--------"); if (parent_scrollview == null) {return super.onInterceptTouchEvent(ev);} else {if (ev.getAction() == MotionEvent.ACTION_DOWN) {// 将父scrollview的滚动事件拦截currentY = (int) ev.getY();setParentScrollAble(false);LogUtils.i(TAG, "将父scrollview的滚动事件拦截-----"); return super.onInterceptTouchEvent(ev); } else if (ev.getAction() == MotionEvent.ACTION_UP) {// 把滚动事件恢复给父ScrollviewsetParentScrollAble(true);LogUtils.i(TAG, "把滚动事件恢复给父Scrollview-----"); } else if (ev.getAction() == MotionEvent.ACTION_MOVE) {}}return super.onInterceptTouchEvent(ev); }/** * 是否把滚动事件交给父scrollview * @param flag */private void setParentScrollAble(boolean flag) {parent_scrollview.requestDisallowInterceptTouchEvent(!flag);}}
其中private ScrollView parent_scrollview; 代表传递过来的父级Scrollview.
0 0
- 【Android】Scrollview嵌套EditText,使其滑动
- Scrollview嵌套EditText,使其滑动
- Scrollview嵌套EditText,使其滑动
- ScrollView嵌套EditText滑动冲突问题
- ScrollView嵌套EditText的滑动冲突问题
- ScrollView中嵌套EditText滑动问题
- ScrollView嵌套EditText时ScrollView无法滑动问题
- ScrollView内嵌套EditText导致EditText无法滑动
- ScrollView内嵌套EditText导致EditText无法滑动
- ScrollView嵌套EditText联带滑动的解决办法
- 解决ScrollView中嵌套EditText无法滑动的问题
- 真正完美解决EditText嵌套ScrollView的滑动冲突
- scrollview嵌套RecyclerView嵌套EditText
- ScrollView嵌套Scrollview滑动冲突
- Android ScrollView 嵌套 ScrollView 滑动
- Android通用——ScrollView内嵌套EditText导致EditText无法滑动
- ScrollView嵌套EditText,导致EditText显示多行时滑动失效的问题
- ScrollView嵌套EditText,导致EditText显示多行时滑动失效的问题
- Kmp算法
- 数据库设计三大范式
- 第一个只出现一次的字符
- mac安装IPython notebook以及scikit-image
- Linux下Java Web服务器搭建(YUM配置)
- Scrollview嵌套EditText,使其滑动
- 所遇问题解决
- python 字符串介绍
- 100. Same Tree
- 谷歌浏览器debug工具
- Redis批量删除key
- STM32:STM32学习记录4:串口
- 7. memcache 细节
- C++ Primer 5th - 1.1 编写一个简单的C++程序