`
FariyTale
  • 浏览: 195187 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 在ScrollView中嵌入GridView

阅读更多

做android程序开发的都知道,不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动事件,导致只显示一到两行数据。那么就换一种思路,首先让子控件的内容全部显示出来,禁用了它的滚动。如果超过了父控件的范围则显示父控件的scrollbar滚动显示内容,思路是这样,一下是代码。

具体的方法是自定义GridView组件,继承自GridView。重载onMeasure方法:

 

public class MyGridView extends GridView
{
	public MyGridView(android.content.Context context,
			android.util.AttributeSet attrs)
	{
		super(context, attrs);
	}

	/**
	 * 设置不滚动
	 */
	public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
	{
		int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
				MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, expandSpec);

	}

}

其中onMeasure函数决定了组件显示的高度与宽度;

makeMeasureSpec函数中第一个函数决定布局空间的大小,第二个参数是布局模式

MeasureSpec.AT_MOST的意思就是子控件需要多大的控件就扩展到多大的空间

 之后在ScrollView中添加这个组件就OK了,同样的道理,ListView也适用。

 

分享到:
评论

相关推荐

    scrollView嵌套ListView的下拉刷新和加载更多

    本示例中的"scrollView嵌套ListView的下拉刷新和加载更多"着重解决了这样一个问题:如何在ScrollView中嵌入一个具有下拉刷新和上拉加载功能的ListView,而且不依赖任何第三方库。这通常涉及到自定义滚动事件的处理和...

    Android UI 问题集注

    如果GridView中图片过多导致内存溢出,可以考虑使用图片加载库如Glide或Picasso来按需加载图片,即只加载当前屏幕可见的图片。同时,合理使用图片缓存策略和调整图片的尺寸也能有效减少内存的使用。 知识点十:去掉...

    Android手机应用程序开发

    以上控件只是Android开发中的一部分,实际上还有许多其他控件,如ListView、GridView、DatePicker、TimePicker等,它们共同构成了Android丰富的UI组件库。在实际开发中,开发者可以根据需求灵活组合使用这些控件,...

    anroid开发技巧大全

    11. ANDROID网络组件:介绍了WebView控件的使用,这对于需要在Android应用中嵌入网页内容或进行网络交互的开发者来说是一个重点。 12. ANDROID的交互和用户体验组件:包括如何使用ScrollView实现滚动视图、如何使用...

    android2W一次培训教材

    在Android开发过程中,熟练掌握各类库的应用是提升开发效率的关键。以下是一些常用的类库及其用途。 1. **Bitmap**: 主要用于图片处理,如加载、压缩、转换等。 2. **Drawable**: 提供了丰富的图形资源支持,包括...

    Android源码——多种android控件的Demo_new_40.zip

    这个Demo集合旨在帮助开发者理解和掌握如何在实际应用中使用这些控件,提升Android应用的交互性和用户体验。下面将详细介绍这个压缩包中的关键知识点: 1. **布局管理器(Layout Managers)**:Android提供多种布局...

    Beginning.Android.4

    - **布局设计**:讲解 XML 布局文件的设计原理及其在 Android 开发中的应用。 - **代码分析**:详细解析 MainActivity.java 文件中的代码逻辑。 **第五章:Eclipse 深度探索** - **Eclipse 功能介绍**:全面介绍 ...

    Android开发技巧合集

    在《Android开发技巧合集》这份文档中,作者craining深入浅出地介绍了Android开发中的关键概念和技术细节,旨在帮助开发者更好地理解和掌握Android应用的构建过程。本文将提炼并扩展文档中的核心知识点,包括Android...

    android.widget合集(上)(20篇)

    20. **Toolbar**:自Android 5.0起取代ActionBar,提供更多自定义选项,可以嵌入在任何布局中,实现可定制的导航栏。 了解并熟练运用这些`android.widget`包中的控件,能让你的Android应用拥有更加丰富和友好的用户...

    refresh 下拉刷新

    5. **Fragment的下拉刷新**:Fragment是Android中用来组织界面的模块化组件,它可以在Activity中嵌入。在Fragment中实现下拉刷新,可以将`SwipeRefreshLayout`作为Fragment布局的一部分,并设置相应的监听器。需要...

    安卓Android源码——一个Demo搞定30个控件.rar

    在这个Demo中,你将遇到以下常见的Android控件: 1. **按钮(Button)**:用于用户触发事件,如点击提交表单。 2. **文本框(EditText)**:让用户输入文本,适用于登录、注册等场景。 3. **复选框(CheckBox)**:提供...

    安卓学习路线

    - **Fragment:** 可以嵌入 Activity 中的 UI 片段,有助于构建更复杂的用户界面。 以上就是 Android 开发的基础与进阶知识点,涵盖了从入门到精通所需掌握的核心技术和实践经验。通过系统地学习这些内容,不仅...

    安卓开发-一个Demo搞定30个控件.zip

    在安卓应用开发中,掌握各种UI控件的使用是至关重要的。这个名为“安卓开发-一个Demo搞定30个控件.zip”的压缩包文件显然提供了一个实用的学习资源,旨在通过一个示例项目来帮助开发者快速熟悉和掌握30种常见的安卓...

Global site tag (gtag.js) - Google Analytics