今天项目使用到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无法显示全部数据和滑动。

方法1)GridView假设知道行数大小能够直接给定高度,可是一般数据都是不固定的。所以仅仅需在getView()进行简单的设置就可以解决这个问题:

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

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

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

gridview.setLayoutParams(lp2);

方法2)自己定义控件实现可滑动:

public class GridView4ScrollView extends GridView {

public GridView4ScrollView(Context context) {

super(context);

}

public GridView4ScrollView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public GridView4ScrollView(Context context, AttributeSet attrs,

int defStyle) {

super(context, attrs, defStyle);

}

@Override//ScrollView嵌套GridView

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int expandSpec = MeasureSpec.makeMeasureSpec(

Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);

super.onMeasure(widthMeasureSpec, expandSpec);

}

other:其他控件測量getViewTreeObserver()

1
2
3
4
5
6
7
8
9
ViewTreeObserver
vto = imageView.getViewTreeObserver();  
vto.addOnGlobalLayoutListener(newOnGlobalLayoutListener()
{
     @Override  
     public
void

onGlobalLayout() {
         imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
         imageView.getHeight();
         imageView.getWidth();
       }   
 });

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

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

    ViewPager,ScrollView 嵌套ViewPager滑动冲突解决 本篇主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌 ...

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

    ListView.GridView显示组图,处理机制相同 <?xml version="1.0" encoding="utf-8"?> <Li ...

  3. Android scrollview嵌套webview滑动冲突的解决方案

    在Android开发中有时我们需要在scrollview中嵌套webview这时你会发现这两者的滑动事件产生了冲突导致:webview很难被滑动,即使被滑动了一点也非常不顺畅.解决方案也比较简单只需要 ...

  4. Android ScrollView嵌套Recyclerview滑动卡顿,松手即停问题解决;

    假如你的布局类似这样的: <ScrollView android:layout_width="match_parent" android:layout_height=&quo ...

  5. Android中scrollview嵌套HorizontalScrollView卡顿现象解决

    开发中经验会遇到滑动里面嵌入滑动的问题,但是这种情况下触摸事件就会发生冲突.导致滑动非常卡,甚至出现程序停止响应.这种情况下我们一般需要重写view.下面给出重新scrollview的方法 publi ...

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

    重写ScrollView 第一种方案能解决viewpager的滑动问题,但是scrollView有时会滑不动 public class VerticalScrollView extends Scrol ...

  7. scrollview嵌套listview 滑动事件冲突的解决方法

    listView.setOnTouchListener(new View.OnTouchListener() {                            @Override       ...

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

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

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

    dispatchTouchEvent方法用于事件的分发,Android中所有的事件都必须经过这个方法的分发, 然后决定是自身消费当前事件还是继续往下分发给子控件处理.返回true表示不继续分发,事件没 ...

随机推荐

  1. python 缩进导致的问题

    今天写Python 看着没有问题 运行就各种问题 object has no attribute 最后发现 Vim 设置里面有个  tabstop  我设置的是4 应该设置成8

  2. poj1637 Sightseeing tour 混合图欧拉回路判定

    传送门 第一次做这种题, 尽管ac了但是完全不知道为什么这么做. 题目就是给一些边, 有向边与无向边混合, 问你是否存在欧拉回路. 做法是先对每个点求入度和出度, 如果一条边是无向边, 就随便指定一个 ...

  3. while 、do...while 、for

    1.while 特点:只有条件成立才会执行循环体. while陷阱: while(条件);即直接加分号 2.do while 特点:一定会执行一次循环体 3.for语句 l   初始化等可以是多句(把 ...

  4. MacOS Apache配置

    仅适用于apache 2.2版本   查看版本 sudo apachectl -v   启动服务器 sudo apachectl start 打开localhost,可以看到内容为“It works! ...

  5. linux 使用者管理

    1.用户标识符 UID  用户ID GID  用户组ID 2./etc/passwd 文件结构 id范围:0系统管理员|1~499 (系统账号)|500~65535 可登录账号

  6. ElaticSearch网站

    http://www.tuicool.com/articles/r2QJVr http://so.searchtech.pro/articles/2013/06/16/1371392427213.ht ...

  7. WPF:在XmlDataProvider上使用主-从绑定(Master-Detail Binding)

    原文 http://www.cnblogs.com/mgen/archive/2011/06/19/2084553.html 示例程序: 如上程序截图,一目了然典型的主从模式绑定应用,如果里面的数据不 ...

  8. ollicle.com: Biggerlink – jQuery plugin

    ollicle.com: Biggerlink – jQuery plugin Biggerlink – jQuery plugin Purpose Demo Updated for jQuery 1 ...

  9. J2EE项目中异常处理

     为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”.笔者在初学java时也是这样认为的.如何在一个多层的j2e ...

  10. UVA - 10129Play on Words(欧拉路)

    UVA - 10129Play on Words Some of the secret doors contain a very interesting word puzzle. The team o ...