Android编程开发之ScrollView嵌套GridView的方法

本文实例讲述了Android编程开发之ScrollView嵌套GridView的方法。分享给大家供大家参考,具体如下:

前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全,为了解决这个问题查了N多资料,某个谷歌的官方回复竟然是GridView不需要ScrollView,那个牛气冲天啊,可是爷偏偏用到了肿么办呢?!又继续查,神马重写控件重写类的,那代码一坨坨的有木有!!!最后,还是在某人一句很隐晦的提示下得到灵感最终实现。

首先是布局

<ScrollView>
    ……
  <LinearLayout>
  </LinearLayout>
    ……
</ScrollView>

我们要做的就是自定义一个GridView控件并插入到中间的LinearLayout中

public class MyGridView extends GridView{
public MyGridView(Context context, AttributeSet attrs) {
 super(context, attrs);
}
public MyGridView(Context context) {
 super(context);
}
public MyGridView(Context context, AttributeSet attrs, int defStyle) {
 super(context, attrs, defStyle);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
   MeasureSpec.AT_MOST);
  super.onMeasure(widthMeasureSpec, expandSpec);
}
}

这个自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再累述

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android 中 GridView嵌套在ScrollView里只有一行的解决方法

    在做android项目中遇到一个bug,GridView嵌套在ScrollView里只有一行的问题.下面小编在网上找到了解决方法,具体方法如下所示: 方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示: public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdap

  • Android之ScrollView嵌套ListView和GridView冲突的解决方法

    那么里面的ScrollView高度计算就会出现问题.我们也就无法得到想要的效果.核心解决方案: 重写ListView或者GridView的OnMesure 方法. 复制代码 代码如下: public class MyListView extends ListView {        public MyListView(Context context) {                super(context);        }        public MyListView(Conte

  • Android 中ScrollView嵌套GridView,ListView的实例

    Android 中ScrollView嵌套GridView,ListView的实例 在Android开发中,经常有一些UI需要进行固定style的动态布局,然而由于现在的UI都喜欢把一个界面拉的很长,所以我们很多情况下需要使用ScrollView来嵌套列表控件来实现UI.这样就导致了很多不顺心的问题. 问题一:列表控件显示不完全 原因是嵌套情况下,ScrollView不能正确的计算列表控件的高度. 有两种解决方案 方案一 在适配器赋值完成后代码动态计算列表的高度.这里贴出ListView的计算代

  • Android中ScrollView嵌套GridView的解决办法

    前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全. 找到大家的通用解决办法.记录一下. 解决办法,自定义一个GridView控件 public class MyGridView extends GridView { public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } pub

  • Android开发之机顶盒上gridview和ScrollView的使用详解

    最近在机顶盒上做一个gridview, 其焦点需要在item的子控件上,但gridview的焦点默认在item上,通过 android:descendantFocusability="afterDescendants" <ScrollView android:id="@+id/scroll_content" android:layout_width="1740.0px" android:layout_height="600.0px

  • Android中ScrollView嵌套GridView显示不全解决方法

    Android中ScrollView嵌套GridView显示不全解决方法 由于ScrollView和GridView这两款控件都自带滚动条,一起使用GridView会显示不全 解决方法:自定义gridview 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • Android编程开发之ScrollView嵌套GridView的方法

    本文实例讲述了Android编程开发之ScrollView嵌套GridView的方法.分享给大家供大家参考,具体如下: 前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全,为了解决这个问题查了N多资料,某个谷歌的官方回复竟然是GridView不需要ScrollView,那个牛气冲天啊,可是爷偏偏用到了肿么办呢?!又继续查,神马重写控件重写类的,那代码一坨坨的有木有!!!最后,还是在某人

  • Android编程开发之TextView控件用法(2种方法)

    本文实例讲述了Android编程开发之TextView控件用法.分享给大家供大家参考,具体如下: 这里我们会讲讲常用控件的使用. 在今后的大多数章节里面也是一样的,我们会具体的说说某些控件的用法.因为只要把这些控件组合在一起它们就是一个应用了. 好吧我们直接看看这个控件怎么用. 细心的同学会发现,其实这个控件的内容是定义在values文件夹里面的strings.xml中的. 那么我们只需要给它加一段代码: 复制代码 代码如下: <string name="test">Wel

  • Android编程开发之seekBar采用handler消息处理操作的方法

    本文实例讲述了Android编程开发之seekBar采用handler消息处理操作的方法.分享给大家供大家参考,具体如下: 该案例简单实现进度条可走,可拖拽的功能,下面请看源码: 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout

  • Android编程开发之TextView单击链接弹出Activity的方法

    本文实例讲述了Android编程开发之TextView单击链接弹出Activity的方法.分享给大家供大家参考,具体如下: 话不多说直接上码: 核心源码: package com.example.textview4; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.SpannableString; import android.tex

  • Android编程开发之EditText实现输入QQ表情图像的方法

    本文实例讲述了Android编程开发之EditText实现输入QQ表情图像的方法.分享给大家供大家参考,具体如下: 实现效果如下: 将QQ表情图像放到res下的drawable-hdpi文件夹下: 布局文件: <EditText android:id="@+id/edittext" android:layout_width="fill_parent" android:layout_height="wrap_content" android:

  • Android编程开发之在Canvas中利用Path绘制基本图形(圆形,矩形,椭圆,三角形等)

    本文实例讲述了Android编程开发之在Canvas中利用Path绘制基本图形的方法.分享给大家供大家参考,具体如下: 在Android中绘制基本的集合图形,本程序就是自定义一个View组件,程序重写该View组件的onDraw(Canvase)方法,然后在该Canvas上绘制大量的基本的集合图形. 直接上代码: 1.自定义的View组件代码: package com.infy.configuration; import android.content.Context; import andro

  • Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法

    本文实例讲述了Android编程开发之EditText中不输入特定字符会显示相关提示信息的方法.分享给大家供大家参考,具体如下: 先看效果图: 源码如下: 布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="

  • Android编程开发之RadioGroup用法实例

    本文实例讲述了Android编程开发之RadioGroup用法.分享给大家供大家参考,具体如下: RadioGroup 有时候比较有用.主要特征是给用户提供多选一机制. MainActivity.java package com.example.lesson16_radio; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget

  • Android编程开发之TextView文字显示和修改方法(附TextView属性介绍)

    本文实例讲述了Android编程开发之TextView文字显示和修改方法.分享给大家供大家参考,具体如下: 一. 新建一个Activity 和 Layout 首先在layout文件夹中新建一个activity_main.xml,在新建工程的时候一般默认会新建此xml文件,修改其代码如下: activity_main.xml 代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x

  • Android编程开发之EditText中inputType属性小结

    本文总结分析了Android编程开发之EditText中inputType属性.分享给大家供大家参考,具体如下: android 1.5以后添加了软件虚拟键盘的功能,所以在输入提示中将会有对应的软键盘模式. android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用.这也大大的方便的操作.有时需要虚拟键盘只为字符或只为数字.所以inputType尤为重要. 复制代码 代码如下: <EditText android:layout_width="fill

随机推荐