Android ScrollView嵌套HorizontalScrollView 滑动问题 ScrollView包含GridView显示问题

今天项目使用到ScrollView嵌套HorizontalScrollView,ScrollView里包含GridView,发现几个问题很经典,在此记录:

问题1.ScrollView嵌套HorizontalScrollView跳变问题,ScrollView、HorizontalScrollView自动下拉到最后一行;

设置到初始坐标(0,0)解决方法:

(时机:数据解析完并且刷新notifyDataSetChanged()之后进行下面代码设置)

scrollview.smoothScrollTo(0, 0);

horizontalscrollview.fullScroll(ScrollView.FOCUS_LEFT);

注意:

这两行代码无法达到效果( scrollview.fullScroll(ScrollView.FOCUS_UP);horizontalscrollview.fullScroll(ScrollView.FOCUS_LEFT); )

问题2.ScrollView与GridView冲突,GridView无法显示所有数据;

GridView如果知道行数大小可以直接给定高度,但是一般数据都是不固定的,所以只需在getView()进行简单的设置即可解决问题:

Collections.sort(arraylist);//根据解析数据自定义高度数据放在集合里并升序排列

LinearLayout.LayoutParams lp2 =(android.widget.LinearLayout.LayoutParams) gridview.getLayoutParams();

lp2.height=arraylist.get(arraylist.size()-1);//高度取升序集合里最大的高度即最后一位

gridview.setLayoutParams(lp2);

时间: 2024-10-11 04:11:37

Android ScrollView嵌套HorizontalScrollView 滑动问题 ScrollView包含GridView显示问题的相关文章

横向滑动的listview效果的实现方法,scrollview嵌套水平滑动的listview卡顿的解决方法

很多时候,界面需要实现横向滑动的listview效果.网络上有一种方法,自定义了HorizontalListView,用法同正常的listview,可实现水平滑动效果. 但是如果一个界面 为垂直滑动的scrollview嵌套水平滑动的listview的时候,滑动水平listview的时候,会很卡.我最近就遇到了这样的问题,一直把思路放在监听水平和垂直滑动手势,想实现滑动角度小于45的时候 垂直的scrollview 滑动效果被禁止.但是一直没有研究出来. 于是一个偶然的机会,灵光一闪,想到用Ho

(转)ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌套ViewPager导致的滑动冲突 ViewPager里面嵌套ViewPager 导致的滑动冲突 轮播图的几种实现方式 先看一下效果图 ScrollView里面嵌套ViewPager ViewPager里面嵌套ViewPager View的 事件分发机制 这篇博客大打算详细讲解View的事件分发机制

完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题

/******************************************************************************* * Copyright 2011, 2012 Chris Banes. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the Li

ScrollView 嵌套ListView 滑动冲突,与显示不全

import android.content.Context; import android.util.AttributeSet; import android.widget.ListView; /** * * @author jiarh *2014-8-14 */ public class UserListView extends ListView { public UserListView(Context context) { super(context); } public UserLis

Android ViewPager嵌套ViewPager滑动冲突处理方法

dispatchTouchEvent方法用于事件的分发,Android中所有的事件都必须经过这个方法的分发, 然后决定是自身消费当前事件还是继续往下分发给子控件处理.返回true表示不继续分发,事件没有被消费. 返回false则继续往下分发,如果是ViewGroup则分发给onInterceptTouchEvent进行判断是否拦截该事件. onTouchEvent方法用于事件的处理,返回true表示消费处理当前事件,返回false则不处理,交给子控件进行继续分发. onInterceptTouc

android 项目学习随笔十七(ListView、GridView显示组图)

ListView.GridView显示组图,处理机制相同 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="w

解决ScrollView嵌套viewpager滑动事件冲突问题

重写ScrollView 第一种方案能解决viewpager的滑动问题,但是scrollView有时会滑不动 public class VerticalScrollView extends ScrollView { private GestureDetector mGestureDetector; public VerticalScrollView(Context context, AttributeSet attrs){ super(context, attrs); mGestureDetec

Android viewpager 嵌套 viewpager滑动 点击事件冲突解决方案

为了解决这个问题.可以自定义viewpager,然后在里面监听首饰,自定义点击事件 package com.hpuvoice.view; import android.content.Context; import android.graphics.PointF; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.GestureDetector; impo

Android仿小米商城商品详情界面UI,ScrollView嵌套ScrollView/WebView/ListView

最近公司没事,研究了下多嵌套滚动组件的事件分发,虽然以前也接触过,但都是拿网上的用,也是特别简单的,正好朋友也需要,就研究了下 这个Demo也不是很完善,放上来也是让各位大牛给指点一下,优化优化 使用情景: 小米商城商品详情界面,界面看似ScrollView,但当正常滚动到底部时,提示继续上拉显示更多详情,上拉后直接滚动到第二屏,第二屏是个ViewPager,ViewPager里面的各个pager有的是WebView有的是ListView,有的是ScrollView,一开始想想就特别头晕,后来理