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

跟我学Android之六 布局

为0时,视图大小由自身确定,当layout_weight大于0时,视图在线性布局方向上根据比重拉伸 ​相对布局​ 相对布局是一种通过设置相对位置进行的布局,相对布局使用标签进行配置...,对应代码中的类是android.widget.RelativeLayout,布局中的视图通过设置相互间的相对位置进行排列,相对的排列位置,相对的对齐方式;相对布局使用拖放式比较方便。...表格布局的常用属性 android:stretchColumns 用于指定可以被拉伸的列,可以被拉伸的列在屏幕还有空白区域时被拉伸充满,列通过0开始的索引值表示,多个列之间用逗号隔开。...设置该子组件在GridLayout的第几列 android:layout_columnSpan 设置该子组件在GridLayout横向上跨几列 android:layout_gravity 设置该子组件采用何种方式占据该网格的空间...android:layout_row 设置该子组件在GridLayout的第几行 android:layout_rowSpan 设置该子组件在GridLayout纵向上跨几行 通过网格布局实现如下图的视图界面

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

    跟我学Android之六 布局

    为0时,视图大小由自身确定,当layout_weight大于0时,视图在线性布局方向上根据比重拉伸 相对布局 相对布局是一种通过设置相对位置进行的布局,相对布局使用标签进行配置...,对应代码中的类是android.widget.RelativeLayout,布局中的视图通过设置相互间的相对位置进行排列,相对的排列位置,相对的对齐方式;相对布局使用拖放式比较方便。...表格布局的常用属性 android:stretchColumns 用于指定可以被拉伸的列,可以被拉伸的列在屏幕还有空白区域时被拉伸充满,列通过0开始的索引值表示,多个列之间用逗号隔开。...设置该子组件在GridLayout的第几列 android:layout_columnSpan 设置该子组件在GridLayout横向上跨几列 android:layout_gravity 设置该子组件采用何种方式占据该网格的空间...android:layout_row 设置该子组件在GridLayout的第几行 android:layout_rowSpan 设置该子组件在GridLayout纵向上跨几行 通过网格布局实现如下图的视图界面

    13210

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

    常量值; 规律 : 从View.getLayoutParams()中获取 width, height 值, 在布局xml文件中设置的是什么, 获取的时候就得到的是什么; (2) 在LinearLayout...拉伸 xml属性 : android:stretchColumns; 设置方法 : setStretchAllColumns(boolean); 作用 : 设置允许被拉伸的列的序列号, xml文件中多个序列号之间用逗号隔开...属性标签, 属性值是要收缩的列, 注意,列标从0开始; 拉伸按钮 : 在TableLayout标签中,设置android:shrinkable属性标签, 属性值是要拉伸的列, 注意, 列表从0开始; 代码...网格布局介绍 网格布局时Android4.0版本才有的, 在低版本使用该布局需要导入对应支撑库; GridLayout将整个容器划分成rows * columns个网格, 每个网格可以放置一个组件....GridLayout的LayoutParams属性 (1) 设置位置列 xml属性 : android:layout_column; 作用 : 设置子组件在GridLayout的哪一列; (2) 横向跨列

    2.5K40

    GridLayout 使用总结「建议收藏」

    文章目录 一、简介 二、常用属性介绍 三、平分问题 四、小米计算器效果 五、动态加载 一、简介 ---- GridLayout是Android4.0引入的网格布局,使用它可以减少布局嵌套。...指定该单元格占据的行数 android:layout_gravity 指定该单元格在容器中的位置 android:layout_columnWeight (API21加入)列权重 android:layout_rowWeight...,填满其应该所占的格子 fill_vertical 仅垂直方向上拉伸填充 fill_horizontal 仅水平方向上拉伸填充 clip_vertical 垂直方向上裁剪元素,仅当元素大小超过格子的空间时...,否则没有效果;另外item在边缘时宽高计算会出现错误,需要我们手动设置宽高,否则达不到想要的效果 三、平分问题 ---- GridLayout在API21时引入了android:layout_columnWeight...25.+' 注意: 使用该控件,命名空间使用app 单独设置app:layout_columnWeight时,这一列的所有item都设置为这个属性,才能达到预期效果,否则这一列中设置了该属性的item,

    1.9K30

    Qt编写自定义控件47-面板区域控件

    二、实现的功能 1:支持所有widget子类对象,自动产生滚动条 2:支持自动拉伸自动填充 3:提供接口获取容器内的所有对象的指针 4:可设置是否自动拉伸宽度高度 5:可设置设备面板之间的间距和边距 三...* 3:提供接口获取容器内的所有对象的指针 * 4:可设置是否自动拉伸宽度高度 * 5:可设置设备面板之间的间距和边距 */ #include class QScrollArea...,自动变宽变高 QVBoxLayout *verticalLayout; //设备面板总布局 QGridLayout *gridLayout; //设备表格布局...(false); } //重新添加到布局中并可见 foreach (QWidget *widget, widgets) { gridLayout->addWidget...linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。

    1.8K20

    在sudoers中设置pwfeedback时缓冲区溢出

    添加此选项是为了响应用户对标准“ 密码;"提示如何禁用按键回显的困惑.虽然在sudo的上游版本中默认情况下未启用pwfeedback,但某些系统(例如Linux Mint和Elementary OS)的确在其默认...由于存在错误,当在sudoers文件中启用pwfeedback选项时,用户可能会触发基于堆栈的缓冲区溢出。即使未在sudoers文件中列出的用户也可以触发此错误。...这里,终端终止字符被设置为NUL字符(0x00),因为sudo不是从终端读取的.由于1.8.26中引入的EOF处理的变化,这种方法在较新版本的sudo中并不有效. $ perl -e 'print(("...选项不被忽略,因为它应该是,从除用户终端以外的东西阅读时,的/dev/tty的.使用-S选项应有效地禁用pwfeedback....pwfeedback 在使用vi 在sudo命令在sudoers中禁用pwfeedback之后,示例sudo -l输出变成: ? 该错误已在sudo 1.8.31中修复。

    1.8K21

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

    容器 中添加 Component 组件时 , 默认的添加顺序是 从左到右 , 从上到下 ; 放置在 GridLayout 网格中的组件 , 组件的大小由网格的区域大小决定 , 默认情况下 组件会填充满所在的单个网格区域..., * 在单行中。...布局中的所有组件都被赋予相同的大小。 * * 此外,水平和垂直间隙设置为 * 指定的值。水平间隔放置在每个之间 * 列的。...网格包布局 , 是在 GridLayout 网格布局的基础上 , 单个组件可以占用多个网格 , 占用的多个网格的大小形状也可以任意设置 , 每个组件都可以占用多行和多列的网格 , 即 m x n 大小的网格...网格包布局 的 Container 容器中 添加 Component 组件时 , 需要指定添加的 组件具体占的 网格 行列数 ; 可借助 GridBagConstaints 配置 组件 的 行列大小

    2.7K20

    Java图形用户界面设计的布局管理器

    当向使用 GridLayout 布局管理器的容器中添加组件时, 默认从左向右、 从上向下依次添加到每个网格中 。...与 FlowLayout不同的是,放置在 GridLayout 布局管理器中的各组件的大小由组件所处的区域决定(每 个组件将自动占满整个区域) 。...将p1放置在Frame的北侧。接着创建一个Panel对象p2,并设置其布局管理为GridLayout,即以网格形式排列组件。...五、GridBagLayout GridBagLayout 布局管理器的功能最强大 , 但也最复杂,与 GridLayout 布局管理器不同的是, 在GridBagLayout 布局管理器中,一个组件可以跨越一个或多个网格...在代码中还定义了一个addComponent方法,用于将组件添加到容器中,并设置其约束条件。 这段代码的效果是,将按钮以不同的布局方式添加到Frame中,并根据约束条件进行布局。

    20210

    Java开发GUI之GridBagLayout布局

    Java开发GUI之GridBagLayout布局     GridBagLayout布局管理器是比GridLayout布局更加强大的表格布局。...GridLayout进行的表格布局其中元素尺寸相同,而GridBagLayout则可以灵活配置其中元素的尺寸和位置。...comp); //获取布局原点 public Point getLayoutOrigin (); 在GridBagLayout中其着至关重要作用的类是GridBagConstraints布局类,其精确确定每个子组件的位置和尺寸信息...下面我们来一点点介绍这个类中属性的意义: fill:这个属性确定当被布局组件尺寸小于其被指定的表格尺寸时,组件的拉伸模式,可选值定义在GridBagConstraints类中,如下: //不进行尺寸处理...static final int HORIZONTAL = 2; //竖直方向拉伸充满 public static final int VERTICAL = 3; anchor:这个属性确定当被布局组件尺寸小于其被指定的表格尺寸时

    1.1K30

    Android精通:布局篇

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

    2.1K40

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

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

    4.1K20

    java-GUI编程之布局类型介绍

    使用BorderLayout 有如下两个注意点: 当向使用 BorderLayout 布局管理器的容器中添加组件时 , 需要指定要添加到哪个区域中 。...GridLayout ​ GridLayout 布局管理器将容器分割成纵横线分隔的网格 , 每个网格所占的区域大小相同。...当向使用 GridLayout 布局管理器的容器中添加组件时, 默认从左向右、 从上向下依次添加到每个网格中 。...与 FlowLayout不同的是,放置在 GridLayout 布局管理器中的各组件的大小由组件所处的区域决定(每 个组件将自动占满整个区域) 。..., 在GridBagLayout 布局管理器中,一个组件可以跨越一个或多个网格 , 并可以设置各网格的大小互不相同,从而增加了布局的灵活性 。

    1.7K10

    【Android布局】在程序中设置android gravity 和 android layout Gravity属性

    大家好,又见面了,我是你们的朋友全栈君。 在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。...下面回到正题, 我们可以通过设置android:gravity=”center”来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity...看下效果: 正如我们所看到的,在EditText中,其中的文字已经居中显示了,而EditText组件自己也对齐到了LinearLayout的右侧。...代码比较简单,但是发现它们还是花了我一点时间的。...另外,要设置在RelativeLayout中的位置时使用addRule方法,如下: params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT

    2.5K10

    Android之布局详解

    这个布局会将它所包含的控件在线性方向上依次排列。 既然是线性排列,肯定就不仅只有一个方向,那为什么上一节中的控件都是在垂直方向排列的呢?...其实从名字就可以看出来 android:gravity用于指定文字在控件中的对齐方式,而android:layout_gravity用于指定控件在布局中的对齐方式。...但却不像我们后面会讲到的Android 4.0后引入的GridLayout(网格)布局一样,直接就可以设置多少行与多少列!...) 流程:在TableLayout中设置了四个按钮,接着在最外层的TableLayout中添加以下属性: android:stretchColumns = “1” 设置第二列为可拉伸列,让该列填满这一行所有的剩余空间...,否则没有效果;另外item在边缘时宽高计算会出现错误,需要我们手动设置宽高,否则达不到想要的效果 实例: <?

    2K10

    Unity基础(24)-UGUI

    3.Texture 在导入设置是Warp Mode 设置可以纹理在渲染超过纹理坐标时,Climp只选择重复纹理边缘像素,还是repeat模式重复整个纹理的模式 4.MaxSize 该纹理的最大尺寸,如原图尺寸为...ScrollView的Content不能根据实际Content下的游戏物体的多少自动改变Content的宽高问题 在实际使用UGUI开发的过程中发现一个UGUI的BUG:当Content下的子物体增加时...(在Hierarchy面板中右键创建UI->ScrollView,在子物体中找到Content,需要按行列布置的游戏物体都作为Content的子物体挂在Content下)(以开发垂直的ScrollView...Content游戏物体下(在Hierarchy面板中右键创建UI->ScrollView,在子物体中找到Content) * * 功能:解决ScrollView中Content不能根据实际Content...无限滚动 scrollview理论上是支持无限多个item单元(即滚动的单元条目),但实际应用中,我们在一开始实例化几个或者十几个item对象时一般是没问题,但是当item非常多时,几百或者上千时,完全实例化比较耗时消耗性能大

    4.5K20

    Android六大布局

    ) 常用属性 TableLayout(表格布局) 常用属性 GridLayout(网格布局) 常用属性 TableLayout 和 GridLayout的区别 gravity和layout_gravity...为设置运行被拉伸的列的序号,如android:stretchColumns="2,3"表示在第三列的第四状语从句:列的一起填补空白,如果要所有列一起填补空白,用则“*”符号,列号都是从0开始算的。...shrinkColumns 为设置被收缩的列的序号,收缩是用于在一行中列太多或者某列的内容文本过长,会导致某列的内容会被挤出屏幕,这个属性是可以帮助某列的内容进行收缩,用于防止被挤出的。...collapseColumns 隐藏列 GridLayout(网格布局) // 特点 android:layout_row : 固定显示在第几行。...当添加TableRow时,该布局增加了一行,并且在TableRow里每添加一个组件,便增加一列 TableLayout无法做出跨行跨列的效果,每行每列都是挨着的,就算是单元格设置Collapsed属性

    2.6K20

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

    北和南的组件可以在水平方向上拉伸;而东和西的组件可以在垂直方向上拉伸;中心的组件可同时在水平和垂直方向上同时拉伸,从而填充所有剩余空间。...例如,如果是如下语句:                   GridLayout layout= new GridLayout(0,1);                         //在增加控件时...GridBagLayout是是在GridLayout的基础上发展起来的,是五种布局策略中使用最复杂,功能最强大的一种,它是在GridLayout的基础上发展起来的。...组件被添加到容器划分好的单元格中。当容器发生改变(伸缩)时,单元格也随之伸缩,装载在单元格里的组件也相应的会进行伸缩。       以下图为例:此容器被分为4行5列。...(2)、当窗口的大小发生改变时,在tableLayout布局下得组件也会自动改变,按%比来分配每行,每列的大小。

    6.2K00

    负margin在页面布局中的应用

    2017-11-07 07:23:04 两栏布局 在页面中经常会遇到两列的情况,比如说左侧栏固定宽度,右侧栏自适应宽度,此时可以用flex布局的方式,但是这种方式在ie8上不兼容,但是也可以用table...这里我们来说用margin的负值来实现两栏布局。...去除列表右边距 项目中经常会使用浮动列表展示信息,为了美观通常为每个列表之间设置一定的间距(margin-right),当父元素的宽度固定式,每一行的最右端的li元素的右边距就多余了,去除的方法通常是为最右端的...li添加class,设置margin-right:0; 这种方法需要动态判断为哪些li元素添加class,麻烦!!!...去除列表最后一个li元素的border-bottom 列表中我们经常会添加border-bottom值,最后一个li的border-bottom往往会与外边框重合,视觉上不雅观,往往要移除。

    1.1K20
    领券