在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。
解决办法,自定义一个GridView控件
package com.weijie.app_user.activity.order; import android.content.Context; import android.util.AttributeSet; import android.widget.GridView; 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); } }
XML布局代码:
XML布局代码 <ScrollView Android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/scroll_content"> <com.yourclass.MyGridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/grid_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:numColumns="auto_fit" android:horizontalSpacing="1dip" android:verticalSpacing="1dip" android:columnWidth="150dip" android:stretchMode="columnWidth" android:gravity="center"> </com.yourclass.MyGridView> </ScrollView>
Java调用代码:
MyGridView gridview = (MyGridView) findViewById(R.id.grid_view);
gridview.setAdapter(new ImageAdapter(this));
相关推荐
用TextView显示的时候,会出现一个问题就是显示的文字中有括号、数字、或者英文的话他会立刻就换行,因为括号、数字等是半角,而汉字是全角,所以我们需要把半角转换为全角,使它们与汉字同占两个字节,现在已经解决...
最近开始接触Android TV端开发,有好多不适应,尤其是对焦点的控制,这也是手机app和电视app最大的不同之处。RecyclerView是个强大的控件,能代替ListView,GridView,能实现瀑布流,还能实现横向ListView,只需要一...
标题"android自行换行布局demo"和描述"android 实现自动换行的布局,实现LinearLayout实现不了的换行"揭示了一个针对特定需求的布局解决方案,即如何在Android中创建一个能够自动换行的布局,这个功能在传统的...
开发者可以通过继承Android的现有布局类(如LinearLayout或GridView),然后重写相关方法来实现自动换行和自定义间距、对齐效果。这样的自定义布局通常会包含一个测量过程,计算每个子视图的位置,以及何时开始新的...
GridView 控件可以实现用“...”代替超长字符串,以便显示数据时避免超长字符串的问题。例如,可以使用 TemplateField 来实现该功能。 11. GridView 一般换行与强制换行 GridView 控件可以实现一般换行与强制换行...
这个"Android 仿zaker效果demo(不使用用gridview).rar"压缩包文件显然是一个示例项目,旨在教开发者如何在不依赖GridView组件的情况下实现类似Zaker的界面效果。GridView通常用于创建网格布局,但此demo选择不使用...
在创建`GridView`时,我们需要在XML布局文件中声明它,并设置其属性,如列数(`android:numColumns`)和行间距(`android:horizontalSpacing`和`android:verticalSpacing`)。 接下来是`ArrayAdapter`。`...
标题提到的"Android代码-自动换行并且对换行后的子控件间隙进行平均分配.rar"是一个解决特定布局问题的资源包,它涉及到自定义控件和布局管理的概念。在描述中,我们可以推测这个资源包包含一个能够自动换行并均匀分...
这个布局item宽度是不定的(放不下自动换行)。 2,长按item拖拽,如果要处理点击事件请调用。 mDragflowLayout.setOnItemClickListener(new ClickToDeleteItemListenerImpl(R.id.iv_close){ //点击删除成功...
GridView可以自适应屏幕宽度,自动将数据行进行填充和换行。 接下来,我们关注下拉刷新功能。PullToRefresh是Android开发中的一个流行库,如SwipeRefreshLayout或Android Design Support Library中的RefreshLayout...
在某些场景下,我们可能需要让多个`TextView` 自动调整布局,实现类似`GridView` 不设定固定列数的效果,根据每个`TextView` 的内容长度来决定是否换行。这种“自适应换行”的功能在设计动态界面时非常实用,可以为...
默认情况下,GridView会在一行中显示一定数量的单元格,然后换行。 ### GridView的布局属性 1. `android:numColumns`:定义每一行显示的列数,可以是整数或者"wrap_content",表示自适应内容宽度。 2. `android:...
因为GridView会自动调整其宽度以适应所有列,所以每个单元格的宽度可能不足以展示完整的数据。我们需要在Adapter的`getView()`方法中动态计算每个单元格的宽度,确保它们能够水平填充HorizontalScrollView。这通常...
此外,聊天气泡的绘制需要自定义View,结合Paint和Path类来创建不规则形状的气泡,同时处理文字的对齐和换行。 接着是聊天对话页,这是用户进行实时交流的地方。这里需要集成EditText用于输入文字,发送按钮用于...
- **GridView**: 虽然GridView默认是等宽的网格布局,但通过自定义GridAdapter和测量每个子View的大小,可以实现不等宽的瀑布流效果。 - **FlowLayout**: FlowLayout是一个自定义的线性布局,允许子View在达到一行...
- `android:singleLine`:设置是否单行输入,如果设置为`true`,则文字不会自动换行。 - `android:inputType`:设置输入类型,例如密码、电话号码、电子邮件地址等。 - `android:autoLink`:设置文本超链接样式,...
在Android开发领域,Android中文API是开发者们的重要参考资料,它为程序员提供了中文版的API文档,使得理解并使用Android SDK中的各种组件、类库和服务变得更加容易。本文将深入探讨"android.widget"包中的相关内容...
然而,早期版本的Android可能不完全支持所有的Unicode表情,因此开发者可能需要引入第三方库来增强表情显示效果。 1. **表情资源准备**: - 创建一个包含各种表情的资源文件夹,如`res/drawable`,将表情图片...
FlowLayout是一个开源的布局组件,它允许子视图按行排列,当一行填满时,会自动换行。开发者可以通过自定义LayoutParams实现瀑布流布局。 4. **FlexboxLayout**: Google的FlexboxLayout库提供了类似CSS Flexbox...
support android-x特点1, 类似可拖拽的GridView. 不过gridView 宽度/个数是固定的。 这个布局item宽度是不定的(放不下自动换行)。2,长按item拖拽,如果要处理点击事件请调用。 mDragflowLayout....