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

android gridlayout点击事件,Android GridLayout

android开发者每天都在问自己一个问题:我到底应该用哪个layout 然而GridLayout在当前开发中的情况如下: 大多数开发者并不知道这个布局 一些开发者知道GridLayout但是因为某些原因没有使用...多行文本会引起重叠,因为text用了layout_alignTop对图标进行对齐 Preview GridLayout 如你看到的下面图片一样,GridLayout提供更好的表现结果: 文本垂直居中于图标...首先定义GridLayout为根布局。然后计算你要多少列并通过android:columnCount属性定义,在我们的例子中我们有2列。...因为GridLayout里面的views是一个接一个被放置的,所以没必要明确定义row和column 如果你想撑开view让它占用2行或2列,你可以用layout_columnSpan/layout_rowSpan...属性 还有一件重要的事要记住-如果你想你的view使用所有可用的空间,不要设置width为match_parent,应该设置成0dp同时设置属性layout_gravity=”fill” Code 总结

1K10

深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局

参数:align LEFT、CENTER或者RIGHT hgap 以像素为单位的水平间距(如果为负值,则强行重叠) vgap 以像素为单位的垂直间距(如果为负值,则强行重叠) 边界布局 Java带有几个布局管理器...参数:hgap 以像素为单位的水平间距(如果为负值,则强行重叠) vgap 以像素为单位的垂直间距(如果为负值,则强行重叠) 面板 只有BorderLayout还不够,图9-9展示了上一节中代码的执行结果...这是一个规则的计算器,而不是在Java指南中的那种奇怪的计算器。在这个程序中,添加组件到框架之后,调用pack方法。这个方法用于将所有组件以最佳的高度和宽度显示在框架中。...在实际应用中,小的网格(通常仅仅一行或者一列)在组织窗口的布局区域时比较有用。例如,如果想有一行相同尺寸的按钮,那么就可以把按钮放置在一个面板里面,这个面板使用只有单行的网格布局进行管理。...参数:rows 网格的行数 columns 网格的列数 hgap 以像素为单位的水平间距(如果为负值,则强行重叠) vgap 以像素为单位的垂直间距(如果为负值,则强行重叠) java.awt.Window

3.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    GridLayout 使用总结「建议收藏」

    也算是常用,但一直没仔细看过,今天研究一下 二、常用属性介绍 ---- GridLayout 使用属性 属性 作用 android:columnCount 最大列数 android:rowCount 最大行数...android:layout_gravity 指定该单元格在容器中的位置 android:layout_columnWeight (API21加入)列权重 android:layout_rowWeight...clip_horizontal 水平方向上裁剪元素,仅当元素大小超过格子的空间时 注意 使用layout_columnSpan 、layout_rowSpan时要加上layout_gravity属性,否则没有效果;另外item在边缘时宽高计算会出现错误...,需要我们手动设置宽高,否则达不到想要的效果 三、平分问题 ---- GridLayout在API21时引入了android:layout_columnWeight和android:layout_rowWeight...单独设置app:layout_columnWeight时,这一列的所有item都设置为这个属性,才能达到预期效果,否则这一列中设置了该属性的item,都会被隐藏,显示不出来 单独设置app:layout_rowWeight

    2K30

    GridLayout和

    GridLayout布局管理器是以表格形式进行管理的,在使用此布局管理器时必须设置显示的行数和列数,GridLayout类的构造方法如表11.9所示。...GridLayout类的构造方法 构造方法声明 功能描述 GridLayout() 构造一个具有默认值的GridLaout布局管理器,即每个组件占一行一列 GridLayout(int r,int c)...例12-18运行结果 图12.20中,运行程序创建Frame窗体后,将布局设置为使用GridLayout布局管理器,设置以两行三列布局,并设置组件之间的水平和垂直间距都为10,之后添加6个按钮到Frame...12.5.1 GridBagLayout GridBagLayout类是在GridLayout类基础上提供的更为复杂的布局管理器。...例12-22运行结果 图12.22中,运行程序弹出Frame窗口,创建一个窗口对象和两个面板对象jPanel1、jPanel2,将面板jPanel2设置成1行4列的网格式页面布局,将面板jPanel1的页面布局设置为卡片式

    4500

    Grid 布局算法!自己动手实现一个 Grid

    目前用在个人项目中还是不错的,不过还需要大家在开源社区中多多支持。 我为它写了一个全新的 Grid 布局算法,此算法是 WPF 在通常情况下的性能的两倍。本文将分享我在此项目中实现的算法的原理。...比如: 可以定义行和列 可以分别为每一行和列指定宽高 宽高的值可选 Auto, * 和数值 Auto 表示 Grid 将按照元素的实际所需尺寸进行布局 * 表示行列在布局中的比例,* 前面的数值表示比例值...数值使用的是 WPF/UWP 布局单位 元素在 Grid 中可跨行或跨列 基本上大家所熟知的 Grid 布局差不多就这样么多了。...分析 Grid 的布局思路 如果行或列设置为 Auto,那么 Grid 的行或者列将为这个元素的尺寸进行适配,并且元素的所需尺寸也会影响到 Grid 的最小所需尺寸;如果行或列设置为 *,那么 Grid...而行或列的最大值应该在最后再考虑。

    1.7K20

    【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现

    属性标签, 属性值是要收缩的列, 注意,列标从0开始; 拉伸按钮 : 在TableLayout标签中,设置android:shrinkable属性标签, 属性值是要拉伸的列, 注意, 列表从0开始; 代码...GridLayout的LayoutParams属性 (1) 设置位置列 xml属性 : android:layout_column; 作用 : 设置子组件在GridLayout的哪一列; (2) 横向跨列...xml属性 : android:layout_columnSpan; 作用 : 设置该子组件在GridLayout中横向跨几列; (3) 占据空间方式 xml属性 : android:layout_gravity...设置横跨四列 : 设置TextView和按钮横跨四列android:layout_columnSpan 为4, 列的合并 就是占了一行; textView的一些设置:  设置textView中的文本与边框有...; 如果以像素为单位, 同一个按钮在高密度屏幕 要比 在低密度屏幕要大.

    2.5K40

    新推出的GridLayout网格布局

    一、认识GridLayout 网格布局实现了控件的交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发。...网格布局用一组无限细的直线将绘图区域分成行、列和单元,并指定控件的显示区域和控件在该区域的显示方式 下表显示了 GridLayout常用的XML属性及相关方法说明。...(int) 设置该网格的列数量 android:columnOrderPreserved setColumnOrderPreserved(boolean) 设置该网格容器知否保留列序号 android:...XML属性 相关方法 说明 android:layout_column 设置该子组件在GridLayout的第几列 android:layout_columnSpan 设置该子组件在GridLayout...的第几行 android:layout_rowSpan 设置该子组件在GridLayout纵向上跨几行 二、示例 接下来通过一个简单的示例程序来学习GridLayout的使用用法。

    1.5K80

    1.之Andriod布局 VS WinPhone布局

    文件有详细说明)在IDE中多多尝试各种的以layout_开头的属性。...属性来控制元素的有效宽高,如果不设置这两个属性则以子元素的实际宽高来排序。...、通过android:stretchColumns控制列的拉伸、通过android:shrinkColumns控制列的收缩,但是无法设置固定的行数和列数(行数和列数按行列上出现的最大子元素数量为准);子元素可以通过...Android-GridLayout:针对上述的TableLayout存在的问题,Google在API Level14(Android4.0)中引入可新的布局容器GridLayout。...WinPhone-Grid:Grid是WinPhone开发中最常用的布局容器,可以通过设置行数、列数以及行列的宽高(可以是固定值或者比例值或者自动根据子元素来确定),子元素通过附加属性Grid.Row、

    1.2K80

    JAVA学习Swing章节JPanel和JScrollPane面板的简单学习

    //将整个容器设置为2行1列的网格布局 网格布局管理器x,y代表行和列 container.setLayout(new GridLayout(...2,1,10,10)); //初始化一个面板,设置1行3列的网格布局 JPanel p1=new JPanel(new GridLayout(1,3,10,10...(1,2,10,10)); JPanel p4=new JPanel(new GridLayout(2,1,10,10)); //在面板中添加按钮...,可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况,这时 * 可以使用JScrollPane面板 * * 2:JScrollPane面板是带滚动条的面板,它也是一个面板,但是JScrollPane...* * 4:从本实例可以得到在窗体中创建一个带滚动条的文字编辑器,首先需要初始化编辑器, * 并且在初始化时完成编译器的大小指定,当创建带滚动条的面板时,将编译器加入面板中 * ,最后将带滚动条的编译器放置在容器中即可

    2K90

    Qt编写安防视频监控系统1-通道切换

    一、前言 通道切换在视频监控系统中是最基础的必备功能,一般都会提供1通道+4通道+6通道+8通道+9通道+16通道这几个通道切换,可能做得比较好的还会提供24通道+32通道的,这个可能对电脑的配置就有一定要求了...Qt中的布局非常好用,尤其是QGridLayout表格布局,可以指定行列放置控件,而且还可以设置每个控件占用几行几列,这样就可以完美的实现各种通道布局了。...比如6通道,可以设置通道1占用两行两列,其他通道各站一行一列即可,当切换布局的时候,其他隐藏即可。...特色功能 主界面采用停靠窗体模式,各种组件以小模块的形式加入,可自定义任意模块加入。 停靠模块可拖动任意位置嵌入和悬浮,支持最大化全屏,支持多屏幕。...可选多种内核自由切换,ffmpeg、vlc、mpv等,均可在pro中设置。推荐用ffmpeg,跨平台最多,默认提供好了linux和mac平台上编译好的库。

    1.2K10

    Android精通:布局篇

    在TableLayout中可以通过setConlumnShrinkable()或setConlumnStretchable()方法来指定某些列为可以缩小或可伸缩,列是从0开始计数的,第一列为0。...shrinkColumns为设置被收缩的列的序号,收缩是用于在一行中列太多或者某列的内容文本过长,会导致某列的内容会被挤出屏幕,这个属性是可以帮助某列的内容进行收缩,用于防止被挤出的。...android:stretchColumns = “1”,设置为第二列为可拉伸列的列,让该列填满这一行所有的剩余空间,也就是在整个父宽度的情况在,放几个按钮,剩下的空间宽度将用第二列填满,代码如下:...GridLayout网格布局 GridLayout网格布局是在Android 4.0以后引入的一种新的布局模式,和表格布局是有点类似的,但比表格布局的好,功能也是很强大的,它可以设置布局有多少行和有多少列...,也可以设置布局中的组件的排列方式,也可以设置组件的位置,横跨多少行,多少列。

    2.1K40

    【面试题解】CSS布局,定位布局,浮动布局,BFC,IFC,FFC,GFC

    relative 相对定位,元素保留在标准流中所占用的位置,但实际是边框及以内的部分将显示在偏移之后的位置。在相对定位中,实际上元素并未脱离标准流,所以浏览器还是会区分它是否是块级或其他类型的元素。...在定位布局中,可以设置它们的 z-index 属性来调整它们的覆盖关系,并且谁的值越大,显示优先级越高。...行框的宽度是由包含块和与其中的浮动来决定; IFC 中的行框一般左右边贴紧其包含块,但 float 元素会优先排列; IFC 中的行框高度由 CSS 行高计算规则来确定,同个 IFC 下的多个行框高度可能会不同...; 当 IFC 中盒子的总宽度少于包含它们的行框时,其水平渲染规则由 text-align 属性值来决定; 当一个行内元素超过父元素的宽度时,它会被分割成多个盒子,这些盒子分布在多个行框中。...网格布局格式化上下文 GFC( GridLayout Formatting Contexts ),当一个元素设置为 display:grid 的时候,此元素将获得一个独立的渲染区域,可以在网格容器上定义网格行和列

    1.6K30

    5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)

    GridBagLayout是是在GridLayout的基础上发展起来的,是五种布局策略中使用最复杂,功能最强大的一种,它是在GridLayout的基础上发展起来的。...在GridBagLayout中,可以为每个组件指定其包含的网格个数,组件可以保留原来的大小,可以以任意顺序随意地加入容器的任意位置,从而实现真正自由地安排容器中每个组件的大小和位置。...在单元格中,行和列都是从0开始计数。Row0表示第1行,col0表示第1列。 ?      ...注意:在表示宽或高的像素时范围应该在 0至1之间,而且0.0可以表示成0%或者0个像素,而1只能表示1个像素,不能表示成100%。...参数 p 为TableLayout.PREFERRED:指定行或者列可以根据component自身的大小给予合适的行或列比列,以能全部显示此component。

    6.3K00

    Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

    在TableLayout中可以通过setConlumnShrinkable()或setConlumnStretchable()方法来指定某些列为可以缩小或可伸缩,列是从0开始计数的,第一列为0。...shrinkColumns为设置被收缩的列的序号,收缩是用于在一行中列太多或者某列的内容文本过长,会导致某列的内容会被挤出屏幕,这个属性是可以帮助某列的内容进行收缩,用于防止被挤出的。...android:stretchColumns = “1”,设置为第二列为可拉伸列的列,让该列填满这一行所有的剩余空间,也就是在整个父宽度的情况在,放几个按钮,剩下的空间宽度将用第二列填满,代码如下: tablelayout...GridLayout网格布局 GridLayout网格布局是在Android 4.0以后引入的一种新的布局模式,和表格布局是有点类似的,但比表格布局的好,功能也是很强大的,它可以设置布局有多少行和有多少列...,也可以设置布局中的组件的排列方式,也可以设置组件的位置,横跨多少行,多少列。

    4.1K20

    【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

    容器 中添加 Component 组件时 , 默认的添加顺序是 从左到右 , 从上到下 ; 放置在 GridLayout 网格中的组件 , 组件的大小由网格的区域大小决定 , 默认情况下 组件会填充满所在的单个网格区域..., * 在单行中。...布局中的所有组件都被赋予相同的大小。 * * 此外,水平和垂直间隙设置为 * 指定的值。水平间隔放置在每个之间 * 列的。...* * 行和cols中的一个(而不是两个)可以 * 为零,这意味着任何数量的物体都可以放置在 * 行或列。...GridLayout 网格布局的基础上 , 单个组件可以占用多个网格 , 占用的多个网格的大小形状也可以任意设置 , 每个组件都可以占用多行和多列的网格 , 即 m x n 大小的网格 , 如 : 占用

    2.7K20

    Android 4.0开发之GridLayOut布局实践

    在本文中,将指导读者进一步加深对GridLayout的认识,带大家实做一个简单的数字键盘布局,从中体会GridLayout的用法。...在我们的这个例子中,如果从最右边的除号算起,使用水平布局的话则是4列,其代码如下所示: < GridLayout xmlns:android = “ http://schemas.android.com...>  定义简单的单元格   在GridLayout中,定义每个子控件跟以前使用布局中定义的方法有点不同,默认的是对所有的子控件使用wrap_content的方式,而不是显式声明宽度和高度并使用...,可以利用android 4.0 GridLayout布局中的   layout_gravity属性,设置每个按钮中的位置,只需要设置layout_gravity属性为fill,即可将每个控件填充到其...>   在上面的代码中,可以看到,数字键3中,通过使用android:layout_column=”3″指定数字从第4列开始(注意列的序号从0开始),而+号是紧跟在数字键9后,并且用android

    38810

    Android布局详解

    TableLayout 表格布局继承自LinearLayout,通过TableRow设置行,列数由TableRow中的子控件决定, 直接在TableLayout中添加子控件会占据整个一行...TableLayout常用属性: android:shrinkColumns:设置可收缩的列,内容过多就收缩显示到第二行 android:stretchColumns:设置可伸展的列,将空白区域填充满整个列...TableLayout(表格布局)其实有点大同小异; 不过新增了一些东西 1、跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式 2、容器中的组件可以跨多行也可以跨多列(相比TableLayout...①组件在第几行: android:layout_row = “1” //设置组件位于第二行 ②组件在第几列: android:layout_column = “2” //设置该组件位于第三列...//横向横跨2列 最后说一点: GridLayout是android 4.0 后才推出的,API Level 为 14 如果读者将布局设置为GridLayout时,会出现 莫名其妙的报错, 只需要将配置文件中的

    1.5K20
    领券