首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何设置gridview的子级宽度来匹配屏幕宽度?

要设置GridView的子项宽度来匹配屏幕宽度,可以通过动态计算子项宽度并设置相应的布局参数。

以下是一种常见的实现方式:

  1. 获取屏幕的宽度:
代码语言:txt
复制
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int screenWidth = displayMetrics.widthPixels;
  1. 在GridView的适配器中,为每个子项设置布局参数:
代码语言:txt
复制
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // 其他初始化操作...

    // 计算每个子项的宽度
    int itemWidth = screenWidth / numColumns; // numColumns为GridView的列数

    // 设置子项的布局参数
    convertView.setLayoutParams(new GridView.LayoutParams(itemWidth, ViewGroup.LayoutParams.WRAP_CONTENT));

    // 返回子项视图
    return convertView;
}

这样,每个子项的宽度将根据屏幕宽度和GridView的列数来进行动态计算并设置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何解决 flex 布局下子元素 width 宽度设置失效问题

在进行前端开发过程中,我们经常使用到flex布局,这种布局方式灵活便捷,但有时候也会遇到一些棘手问题。例如,元素宽度受挤压影响、元素宽度超出父容器、设定元素宽度失效等情况。...但很明显可以从图中看到,这张图宽度不够,标题这一整行后面缺了一截,于是我想到了调整宽度。可当我设置宽度为 400px 后,发现一个奇怪现象,那就是我设置宽度,和实际表现宽度不一致。...如图所示:随后无论我怎么调整宽度,都无法实际表现为我设置宽度。...方案二:设置 min-width(推荐)min-width 优先,是大于 width ,width 是会受到布局影响,而 min-width 不会。...这种方法好处在于,只需要改动有问题元素,对父和其他元素没有影响,改动最小,效果也达到了。这样一看,效果很明显。

2.8K30

如何在Linux Vim 中将缩进宽度设置为 2 或 4 个空格?

Vim 是几十年最流行基于终端文本编辑器之一。但无论你使用 Vim 多久,总会有更多你不知道技巧和窍门。这是关于在 Vim 中将缩进宽度设置为 2 个空格或 4 个空格。...设置自动缩进假设您正在编写一行代码并且下一行代码需要缩进,您按 Enter 键转到下一行,但不会自动应用缩进。要自动缩进行,将以下行添加到您 'vimrc'。...使用空格进行缩进如果你想使用空格缩进你代码,将以下行添加到你 '.vimrc' 文件中。...我还建议您对tabstop和使用相同值shiftwidth。使用不同值可能会弄乱您缩进。...反之亦然:使用制表符进行缩进服务于站在“制表符与空格”两侧的人,现在让我们看看如何使用制表符而不是空格缩进。

6.5K00
  • android 之 ListView 里面嵌套 GridView 遇到问题及其解决方法。

    解决方法:     动态给你 GridView 设置宽度,不要使用 Wrap_Parent 等. 3,如何动态地给嵌套在Listview 里面的 GridView 设置宽、高度?...答:     原因/解决方法:     如果你 GridView 是某个View View,例如你使用 LinearLayout 包裹 GridView,那么你GridView设置 setLayoutParams...5,为什么我动态设置GridView 宽度后,发现 格子 有错位、重叠、间隙太大、很丑很没幸福感现象?...解决方法是设置GridView.NO_STRETCH,然后是自定义格子宽度和间隙。或者设置GridView宽度。...重叠、遮挡现象--如果你设置GridView.NO_STRETCH,那么就可能会出现重叠、遮挡现象,解决方法是动态测量设备宽度再使用等比例设置理想格子宽度,既不影响格子点击,又能相应 ListView

    1.5K50

    Android使用GridView实现横向滚动效果

    Java代码部分:和普通GridView使用基本一致,但需要手动设置GridViewwidth以及ItemWidth等。 笔者实际情况是:左右滑动,1行以4个为基准。.../** * 水平GridView设置 * @param size Item总数 * @param gridView 需要设置GridView */ private void...int AnInterfaceNum=4; //每个Item间距(注:如果间距过大,但屏幕宽度不够,多出部份会被无视) int spcing = 30; //计算当个Item...宽度( 屏幕宽度 减去- 一个屏幕下要总item数量间距之和 最后除/ 单个屏幕要显示几个Item) int itemWidth = ((getResources().getDisplayMetrics...(params); // 设置GirdView布局参数,横向布局关键 gridView.setColumnWidth(itemWidth); // 设置列表项宽 gridView.setHorizontalSpacing

    3.3K30

    Android 虚拟按键适配动态调整布局方法

    viewgetViewTreeObserver().addOnGlobalLayoutListener给view设置全局布局监听器,用于获取当前view可显示实际高度,然后根据高度动态设置item...(); } 注意这个回调是会调用多次,获取完高度后要移除这个监听,否则会造成界面卡顿 private void refreshGridViewHeight() { gridView_Home.post...(new Runnable() { @Override public void run() { //获取到宽度和高度后,可用于计算 int height...= gridView_Home.getHeight(); //根据屏幕高度计算单个菜单高度,保证屏幕能被填满 final int itemHeight = height...,所以要分情况,具体看代码 最后记得在ActivityonDestroy或界面销毁地方注销刚才设置系统广播接收者 getContentResolver().unregisterContentObserver

    96920

    Flutter布局指南之深入理解BoxConstraints

    ❝BoxConstraints.tightFor( {double width, double height} ) ❞ 你可以使用这个构造函数并传递宽度或高度分别设置Tight宽度或Tight高度,或者同时传递宽度和高度设置两者...❝Container试图扩大以适应父体,然后按照排列方式将体置于自身之内。 ❞ 案例:有父约束,无自约束,有约束 ❝Container将父方约束传递给方,并将自己大小与方相匹配。...我们还可以使用SizedBox变体,如FractionallySizedBox设置Widget尺寸为总可用空间一部分,SizedOverflowBox设置一个特定尺寸,并允许Widget...❝用LimitedBox包裹Widget ❞ 案例:用新约束覆盖父约束,甚至允许孩子溢出父而没有黑色和黄色条纹警告 ❝在一个OverflowBox中包裹Widget ❞ 案例:缩放Widget...我们也可以使用一些Box Widget覆盖父约束,如UnconstrainedBox, SizedBox, ConstrainedBox等。 父约束和约束中存在无约束约束会导致渲染错误。

    2.1K20

    CSS 常见面试题速查

    默认宽度为内容宽度,不可设置宽高,同行显示 inline-block 默认宽度为内容宽度,可以设置宽高,同行显示 list-item 像块类型元素一样显示,并添加样式列表标记 table 此元素会作为块表格显示...,行元素从左向右排列 relative 相对定位,此时 相对 是相对于正常文档流位置 absolute 相对于最近非 static 定位祖先元素偏移,确定元素位置 如一个绝对定位元素和祖父都为...relative,会相对父产生偏移 fixed 指定元素相对于屏幕视口(viewport)位置指定元素位置 元素位置在屏幕滚动时不会改变,比如回到顶部按钮就用此实现 sticky 粘性定位,...,并有一套渲染规则,决定其元素将如何定位,以及和其他元素关系和相互作用 即,它是一块独立区域,让处于 BFC 内元素与外部元素相互隔离 如何形成 根元素 position:fixed/absolute...(设置 rgba 透明元素元素不会继承透明效果!)

    90710

    《Flutter》-- 6.高级组件

    bool primary,//是否是与父关联主滚动视图 this.physics,//设置滚动效果 this.controller,//控制滚动位置,当primary为true时,controller...ScrollPhysics physics,//设置滚动效果 bool shrinkWrap = false,//组件是否只满足自身大小 Key center,//组件key...,组件树组件可以通过发送通知与父组件进行通信,父组件则可以通过NotificationListener组件监听自己关注通知,这种跨组件通信方式通常被称为事件冒泡。...primary, ScrollPhysics physics, EdgeInsetsGeometry padding, bool shrinkWrap = false,//是否根据列表项总长度设置...实现类简写,用于创建横轴数量固定网格视图; 4)GridView.extent():SliverGridDelegateWithFixedCrossAxisCount实现类简写,用于创建横轴子元素宽度固定网格视图

    10.6K20

    Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

    标题图 UI描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建。View是绘制在屏幕上能与用户进行交互一个对象。...用户界面布局 在你APP软件上,用户界面上显示每一个组件都是使用层次结构View和ViewGroup对象构成,比如,每个ViewGroup都是不可见容器,每个ViewGroup视图组用于组织视图...绝对布局: 指控件通过绝对定位x,y位置决定其位置摆放。 表格布局: 指以行列形式放置控件,每一行是一个TableRow对象或者View对象。...:布局宽度,用wrap_content表示组件实际宽度,match_parent表示填充父容器 layout_height:布局长度,用wrap_content表示组件实际长度,match_parent...网格布局 GridView其实是一个网格一样视图组件,是一个ViewGroup二维视图。

    1.8K20

    A021-列表容器之GridView

    上面的运行结果就是GridView典型效果,每个item是一张固定大小图片,这里让它自适应屏幕填充完整个屏幕宽度。...列数设置为自动 2.android:columnWidth=”90dp “ //每列宽度,也就是Item宽度 3.android:stretchMode=”columnWidth”//...”true” //设置为true就可以实现滚动条自动隐藏和显示 10.android:fastScrollEnabled=”true” //GridView出现快速滚动按钮...” //设置为true时,你做好列表就会显示你列表最下面 14.android:transcriptMode=”alwaysScroll” //当你动态添加数据时,列表将自动往下滚动最新条目可以自动滚动到可视范围内...实例,调用其displayImage方法异步加载图片 最后 GridView用法与ListView类似,都需要设置Adapter填充数据,除了填充数据之外,我们可能还需要添加每一项点击事件,这时需要设置监听事件

    76630

    Flutter中构建布局 顶

    Flutter布局机制如何工作。 如何垂直和水平布局小部件。 如何构建一个Flutter布局。 这是在Flutter中构建布局指南。 您将构建以下屏幕截图布局: ?...然后本指南回过头解释Flutter布局方法,并说明如何屏幕上放置一个小部件。 在讨论如何水平和垂直放置小部件之后,会介绍一些最常见布局小部件。...使用其color属性设置图标的颜色。 使用文本style属性设置字体,颜色,重量等等。 列和行属性允许您指定他们孩子如何垂直或水平对齐,以及儿童应该占据多少空间。...GridView示例: ? 使用GridView.extent创建一个最大宽度为150像素网格。...使用GridView.count在纵向模式下创建2个宽度网格,在横向模式下创建3个宽度网格。 标题是通过设置每个GridTile页脚属性创建

    43.1K10

    Flutte部件目录-布局

    单子部件布局部件 多子部件布局部件 布局助手 单子部件布局部件 Container 一个方便小部件,结合了常见绘画,定位和尺寸小部件。 Padding 通过给定填充插入其小部件。...如果给定孩子,这个小部件强制它孩子有一个特定宽度和/或高度(假设这个小部件父母允许这个值)。 如果宽度或高度为空,则此小部件将自行调整大小以匹配该维度中大小。...SizedOverflowBox 一个具有特定大小小部件,但将其原始约束传递给其,这可能会溢出。 Transform 绘制其之前应用转换小部件。...GridView 可滚动2D小部件阵列。 Flow 实现流布局算法小部件。 Table 为其子项使用表格布局算法小部件 Wrap 一个小部件,它以多个水平或垂直运行显示其子项。...CustomMultiChildLayout 一个使用代理调整尺寸和定位多个子项小部件。 布局助手  LayoutBuilder 构建一个可以依赖父控件尺寸控件树。

    1.5K10

    flutter GridView 九宫格

    方式构建,懒加载模式,适用于大量数据情况 GridView.count方式构建,适用于固定列情况,适用于少量数据 GridView.extent 方式构建,适用于条目有最大宽度限制情况...,适用于少量数据情况下 GridView.custom 方式构建,可配置条目的排列规则也可配置条目的渲染加载模式 2 滑动组件公有属性 GridView也是滑动组件系列中一个,它也有滑动组件一些公用属性...GridView构造函数来创建 通过GridView构造函数来构建,通过参数children构建GridView中使用到所有的条目,通过参数gridDelegate配置SliverGridDelegate...通过SliverGridDelegateWithFixedCrossAxisCount构建一个横轴为固定数量条目的GridView,如图1所示。...( ///Item最大宽度 maxCrossAxisExtent: 100, //纵轴间距 mainAxisSpacing

    1.4K41

    Flutter 入门指北之滑动部件(超详细)

    )), 如果每个 item 高度可以确定,那么推荐通过 itemExtent 设置 item 高度/宽度,能够加快 ListView 渲染速度。...GridView 生成列表可以通过 ListView 实现,那么同样,实现网格列表 Flutter 也提供了 GridView 实现,实现 GridView 方法也很多...我数了下,大概有 10...接下来换一种 delegate 试试效果,当然这个最大值可以根据个人喜好来设置 body: GridView( // 通过设置 `maxCrossAxisExtent` 指定最大宽度...为了方便写法呢,Flutter 对以上两种方式进行了封装,省略了 delegate GridView.count/GridView.extent 直接看下如何修改 // 这种情况简化了 `GridView...在结束前,我们再说下如何通过 ScrollController 控制 Scrollable 滚动位置。

    2.5K30

    第128期:Flutterflex布局组件(row 和 column)

    如果设置交叉轴属性为stretch,则改用与传入最大高度匹配紧密垂直约束。 根据弹性系数在具有非零弹性系数(例如,展开弹性系数)之间划分剩余水平空间。...例如,弹性系数为2.0将获得水平空间量是弹性系数为1.0两倍。...设置Row高度为对象最大高度(始终满足传入垂直约束)。 设置Row宽度。Row宽度由mainAxisSize属性决定。...根据弹性系数在具有非零弹性系数(之间划分剩余垂直空间。例如,弹性系数为2.0将获得两倍于弹性系数为1.0垂直空间量。...元素中带有Flexible.fit属性值为tight则强制填充分配空间),Flexible.fit属性值为loose,则不再强制填充分配空间。 设置Cloumn宽度为子项最大宽度

    1.3K20
    领券