Android ScrollView的各种适配
来源:互联网 发布:cf近战武器数据 编辑:程序博客网 时间:2024/04/29 12:53
背景
这里是为了解决在ScrollView包裹下,出现的各种奇葩问题。
在ScrollView包裹下ListView无法伸展开的问题
public class AdaptSvListView extends DigitalListView { public AdaptSvListView(Context context) { super(context); } public AdaptSvListView(Context context, AttributeSet attrs) { super(context, attrs); } public AdaptSvListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } /** * 重写该方法,达到使ListView适应ScrollView的效果 */ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }}
防止包裹的ListView或GridView设置高度后,ScrollView的初始位置不在0
public class NotZeroScrollView extends ScrollView { public NotZeroScrollView(Context context) { super(context); } public NotZeroScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public NotZeroScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public void scrollTo(int x, int y) { //super.scrollTo(x, y); }}
可设置可滑动不可滑动的ViewPager
public class ScrollAbleViewPager extends ViewPager { private boolean scrollAble = true; public ScrollAbleViewPager(Context context) { super(context); } public ScrollAbleViewPager(Context context, AttributeSet attrs) { super(context, attrs); } /** * 设置是否可滑动 * @param scrollAble false不可滑动,true可滑动 */ public void setScrollEnabled(boolean scrollAble) { this.scrollAble = scrollAble; } @Override public boolean onTouchEvent(MotionEvent arg0) { if (!scrollAble) return false; else return super.onTouchEvent(arg0); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (!scrollAble) return false; else return super.onInterceptTouchEvent(arg0); }}
在ScrollView包裹弹出PopupWindows导致ScrollView滚动的问题
public class NotZeroScrollView extends ScrollView { public NotZeroScrollView(Context context) { super(context); } public NotZeroScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public NotZeroScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override public void scrollTo(int x, int y) { //super.scrollTo(x, y); }}
0 0
- Android ScrollView的各种适配
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android 自定义ScrollView ListView 体验各种纵向滑动的需求
- Android ScrollView的使用
- Android ScrollView的使用
- Android ScrollView的使用
- Android ScrollView的属性
- Android的ScrollView示例
- Android 功能强大的Scrollview
- Android的ScrollView使用
- Android ScrollView的使用
- Android ScrollView的使用
- 集合 ConcurrentModificationException 详解
- 利用tomcat等Web容器控制台弱口令getshell
- 20170112
- linux shell 快捷键.
- tomcat打印日志
- Android ScrollView的各种适配
- How to determine if a driver should have been registered in kernel and lspci vs pci_device_id
- 从最初的看客到自己退役 一个渣ACMer的感想
- 收到银行承兑汇票应该注意什么
- 关于AB打包-加载
- odbcConnectExcel()只支持32位的操作系统
- junit下载地址
- AutoCompleteTextView
- 欢迎使用CSDN-markdown编辑器