android ScrollView+GridView GridView不滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android ScrollView+GridView GridView不滚动相关的知识,希望对你有一定的参考价值。

在页面中我需要用到 ScrollView和GridView 两种控件。
1、自定义GridView 设置不滚动

但是出现一个这样的问题:
一打开该activity,ScrollView 自动滑动到了ScrollView控件位置,从滚动条的处于的位置可以看出来,上面还有一部分未显示。

再描述一次: 本来,一打开,如果不手动滑动,滚动条应该是处于顶部的,但是现在一打开直接处于myGridview控件位置。

这种要怎么解决啊??
重新补充下

红色框框的代码为何要那样写?
另外,gridview内容超出了屏幕就可以滑动,加个ScrollView感觉没多大必要啊追问

因为我要让这个页面上下滑动,所有我用了ScrollView,同时我要实现上面的九宫格,于是我采用了GridView,但是两个控件本身都是可以滑动,这样会出现问题。所也我百度了:如果要实现,必须将 GridView全屏显示(禁止滑动),上面红框框的代码 就是百度的结果 “禁止GridView滑动”。

追答

你有尝试过改变红色框框内的代码的参数吗?把Integer.MAX_VALUE>>2的值改变

参考技术A 这个是因为事件传递和处理的问题,
两个滚动事件,

如何在scrollview的顶部固定一个控件

换个思路

你直接在ScrollView的布局的前面再定义一个LinearLayout布局,把标题放在这个LinearLayout里面就可以了。

       

示例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_
   android:layout_
   android:orientation="vertical">
<RelativeLayout android:layout_  
android:layout_>
<!--返回按钮-->
   <Button
 
   android:id="@+id/bz_backbutton"
   android:layout_
   android:layout_
   android:background="@drawable/dtfh"
   android:layout_alignParentTop="true"
   />
   <!--标题-->
   <TextView  
 
  android:id="@+id/bz_title"
   android:layout_
   android:layout_
   android:layout_toRightOf="@id/bz_backbutton"
   android:background="@drawable/dttt"
   android:text="帮助"
   android:gravity="center"
   android:textSize="25dp"
   android:layout_alignParentTop="true"
   />
</RelativeLayout>
<ScrollView android:layout_  
  android:layout_
   android:background="@drawable/dtbg"
   android:scrollbars="none" >
    
    <RelativeLayout  android:layout_  
android:layout_>
    
  <TextView
   android:id="@+id/bz_fake1"
   android:layout_
   android:layout_   
     
  />
   <Button
   android:id="@+id/bz_hsjy"
   android:layout_
   android:layout_
   android:background="@drawable/bzjy"   
  android:layout_below="@+id/bz_fake1"
   android:layout_marginLeft="15dp"
   />
   <TextView  
  android:id="@+id/bz_hsjytt"
   android:layout_
   android:layout_
   android:text="红色家园"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_hsjy"
   />
   <TextView
   android:id="@+id/bz_fake2"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_hsjy"
   android:layout_below="@+id/bz_fake1"
   />
   <TextView
   android:id="@+id/bz_hsjynr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake2"
   android:layout_below="@+id/bz_fake1"
   android:text="整合杭电“红色家园”帖子信息。"
   android:textSize="15dp"  
  android:gravity="center"
   />
   <TextView
   android:id="@+id/bz_fake3"
   android:layout_
   android:layout_   
  android:layout_below="@+id/bz_hsjytt"   
  />
   <Button
   android:id="@+id/bz_hdxw"
   android:layout_
   android:layout_
   android:background="@drawable/bzxw"   
  android:layout_below="@+id/bz_fake3"
   android:layout_marginLeft="18dp"
   />
   <TextView  
  android:id="@+id/bz_hdxwtt"
   android:layout_
   android:layout_
   android:text="杭电新闻"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_hdxw"
   />
   <TextView
   android:id="@+id/bz_fake4"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_hdxw"
   android:layout_below="@+id/bz_fake3"
   />
   <TextView
   android:id="@+id/bz_hdxwnr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake4"
   android:layout_below="@+id/bz_fake3"
   android:text="链接杭电首页,浏览最新校园新闻列表。"
   android:textSize="15dp"  
  android:gravity="center"
   />
   <TextView
   android:id="@+id/bz_fake5"
   android:layout_
   android:layout_   
  android:layout_below="@+id/bz_hdxwtt"   
  />
   <Button
   android:id="@+id/bz_gjlx"
   android:layout_
   android:layout_
   android:background="@drawable/bzgj"   
  android:layout_below="@+id/bz_fake5"
   android:layout_marginLeft="18dp"
   />
   <TextView  
  android:id="@+id/bz_gjlxtt"
   android:layout_
   android:layout_
   android:text="公交路线"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_gjlx"
   />
   <TextView
   android:id="@+id/bz_fake6"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_gjlx"
   android:layout_below="@+id/bz_fake5"
   />
   <TextView
   android:id="@+id/bz_gjlxnr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake6"
   android:layout_below="@+id/bz_fake5"
   android:text="整合以杭电下沙校区为起始或终点的常用公交路线。提供站点关键字搜索,列出符合要求的公交路线"
   android:textSize="15dp"  
  android:gravity="center"
   />
<TextView
   android:id="@+id/bz_fake7"
   android:layout_
   android:layout_   
  android:layout_below="@+id/bz_gjlxtt"   
  />
   <Button
   android:id="@+id/bz_hddt"
   android:layout_
   android:layout_
   android:background="@drawable/bzdt"   
  android:layout_below="@+id/bz_fake7"
   android:layout_marginLeft="18dp"
   />
   <TextView  
  android:id="@+id/bz_hddttt"
   android:layout_
   android:layout_
   android:text="杭电地图"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_hddt"
   />
   <TextView
   android:id="@+id/bz_fake8"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_hddt"
   android:layout_below="@+id/bz_fake7"
   />
   <TextView
   android:id="@+id/bz_hddtnr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake8"
   android:layout_below="@+id/bz_fake7"
   android:text="杭电下沙校区地图。提供建筑名关键字搜索,放大效果图定位。"
   android:textSize="15dp"  
  android:gravity="center"
   />
   <TextView
   android:id="@+id/bz_fake9"
   android:layout_
   android:layout_   
  android:layout_below="@+id/bz_hddttt"   
  />
   <Button
   android:id="@+id/bz_zsxx"
   android:layout_
   android:layout_
   android:background="@drawable/bzzs"   
  android:layout_below="@+id/bz_fake9"
   android:layout_marginLeft="18dp"
   />
   <TextView  
  android:id="@+id/bz_zsxxtt"
   android:layout_
   android:layout_
   android:text="住宿信息"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_zsxx"
   />
   <TextView
   android:id="@+id/bz_fake10"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_zsxx"
   android:layout_below="@+id/bz_fake9"
   />
   <TextView
   android:id="@+id/bz_zsxxnr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake10"
   android:layout_below="@+id/bz_fake9"
   android:text="整合杭电下沙校区附近餐饮信息。"
   android:textSize="15dp"  
  android:gravity="center_vertical"
   />
   <TextView
   android:id="@+id/bz_fake11"
   android:layout_
   android:layout_   
  android:layout_below="@+id/bz_zsxxtt"   
  />
   <Button
   android:id="@+id/bz_wmxx"
   android:layout_
   android:layout_
   android:background="@drawable/bzwm"   
  android:layout_below="@+id/bz_fake11"
   android:layout_marginLeft="18dp"
   />
   <TextView  
  android:id="@+id/bz_wmxxtt"
   android:layout_
   android:layout_
   android:text="外卖信息"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_wmxx"
   />
   <TextView
   android:id="@+id/bz_fake12"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_wmxx"
   android:layout_below="@+id/bz_fake11"
   />
   <TextView
   android:id="@+id/bz_wmxxnr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake12"
   android:layout_below="@+id/bz_fake11"
   android:text="整合杭电下沙校区附近外卖信息。"
   android:textSize="15dp"  
  android:gravity="center_vertical"
   />
   <TextView
   android:id="@+id/bz_fake13"
   android:layout_
   android:layout_   
  android:layout_below="@+id/bz_wmxxtt"   
  />
   <Button
   android:id="@+id/bz_stjs"
   android:layout_
   android:layout_
   android:background="@drawable/bzst"   
  android:layout_below="@+id/bz_fake13"
   android:layout_marginLeft="18dp"
   />
   <TextView  
  android:id="@+id/bz_stjstt"
   android:layout_
   android:layout_
   android:text="社团介绍"
   android:textSize="13dp"  
  android:layout_marginLeft="12dp"
   android:layout_below="@+id/bz_stjs"
   />
   <TextView
   android:id="@+id/bz_fake14"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_stjs"
   android:layout_below="@+id/bz_fake13"
   />
   <TextView
   android:id="@+id/bz_stjsnr"
   android:layout_
   android:layout_
   android:layout_toRightOf="@+id/bz_fake14"
   android:layout_below="@+id/bz_fake13"
   android:text="整合杭电各个社团简介。"
   android:textSize="15dp"  
  android:gravity="center_vertical"
   />
   </RelativeLayout>
</ScrollView>
</LinearLayout>
参考技术A 1,如果只是要不定期取一下这个数值,调用scrollView.getScrollY(),如果是横向的scrollView,换成X。
2,如果要随时使用这个值,例如正在scroll过程中,其他控件要随着卷动的位置变化,需要继承一下并且重载onScrollChanged(int, int, int, int),这样每个scroll动作,都会被调用,告知当前scroll的位置以及上一次的位置。

以上是关于android ScrollView+GridView GridView不滚动的主要内容,如果未能解决你的问题,请参考以下文章

android 怎么让scrollview不能滑动

android 中 scrollview 里面 又有一个子scrollview滑动事件冲突

android基础开发之scrollview

如何在ScrollView嵌套另一个ScrollView

同步 ScrollView 滚动位置 - android

如何在scrollview的顶部固定一个控件