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

Android布局详解之一:FrameLayout

大家好,又见面了,我是你们的朋友全栈君。...所有放在布局里的控件,都按照层次堆叠在屏幕的左上角。后加进来的控件覆盖前面的控件。 在FrameLayout布局里,定义任何空间的位置相关的属性都毫无意义。控件自动的堆放在左上角,根本不听你的控制。...gravity属性,是控制控件内部文本的格式的。而我们看我们控件的宽的属性是什么?是“fill_parent”,也就是说,我们文本框的宽度就是屏幕的宽度。...如下图 layoutpic003 我用的华为手机,第四层没居中,但是跑到底下来了。也就是说 center_horizontal 没起作用。...当你需要自己写一个View的时候,在View里面已经完成了你的逻辑(例如游戏^_^),那么这个View只需要一个容器放置,就可以使用FrameLayout了。

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

    GridLayout 使用总结「建议收藏」

    大家好,又见面了,我是你们的朋友全栈君。...指定该单元格占据的列数 android:layout_rowSpan 指定该单元格占据的行数 android:layout_gravity 指定该单元格在容器中的位置 android:layout_columnWeight...(API21加入)列权重 android:layout_rowWeight (API21加入) 行权重 android:layout_gravity 作用 center 不改变元素的大小,仅居中 center_horizontal...、layout_rowSpan时要加上layout_gravity属性,否则没有效果;另外item在边缘时宽高计算会出现错误,需要我们手动设置宽高,否则达不到想要的效果 三、平分问题 ---- GridLayout...在API21时引入了android:layout_columnWeight和android:layout_rowWeight来解决平分问题 那么在API21以前的,想要平分的话:引用兼容包 compile

    1.9K30

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

    LayoutParams属性 (1) 只能设置boolean值的属性 这些属性都是相对父容器的, 确定是否在父容器中居中(水平, 垂直), 是否位于父容器的 上下左右 端; 是否水平居中 : android...绘制霓虹灯布局 绘制一个霓虹灯效果的层叠布局, 如下图 :  要点 :  后挡前 : 后面的View组件会遮挡前面的View组件,越在前面, 被遮挡的概率越大; 界面居中 : 将所有的TextView...组件的对齐方式 android:layout_gravity 设置为center; 正方形 : 所有的TextView都设置android:height 和 android:width 属性, 用来设置其宽高..., 这里设置成正方形, 宽高一样, 后面的组件比前面的边长依次少40; 颜色 : 每个TextView的背景都设置成不一样的; 代码 :  <?...网格布局介绍 网格布局时Android4.0版本才有的, 在低版本使用该布局需要导入对应支撑库; GridLayout将整个容器划分成rows * columns个网格, 每个网格可以放置一个组件.

    2.5K40

    ConstraintLayout概要

    ”(距离) 指的是TextView2的中心在TextView1的中心(垂直方向顺时针)的120度,距离为150dp 两个组件居中对齐就可以设置90度角度来实现 goneMargin goneMargin...layout_goneMarginTop layout_goneMarginRight layout_goneMarginBottom 也就是说组件在gone时,margin才生效 居中 在RelativeLayout...设置宽高比 宽设置为0dp,宽高比设置为1:1,这个时候TextView1是一个正方形 除此之外,在设置宽高比的值的时候,还可以在前面加W或H,分别指定宽度或高度限制。...chain:优化链约束 dimensions:优化尺寸测量 Barrier 假设有3个控件ABC,C在AB的右边,但是AB的宽是不固定的,这个时候C无论约束在A的右边或者B的右边都不对。...,新建一个TextView约束在屏幕的右上角,在Placeholder中设置 app:content=”@+id/textview”,这时TextView会跑到屏幕的左上角。

    91132

    Android布局详解:FrameLayout

    大家好,又见面了,我是你们的朋友全栈君。 后来也一直没有再回头看,再后来,看到评论多是负面的,也就心懒了,这个系列就没再写下去了。 今天重新把文章修改一下。...所有放在布局里的控件,都按照层次堆叠在屏幕的左上角。后加进来的控件覆盖前面的控件。 在FrameLayout布局里,定义任何空间的位置相关的属性都毫无意义。控件自动的堆放在左上角,根本不听你的控制。...gravity属性,是控制控件内部文本的格式的。而我们看我们控件的宽的属性是什么?是“fill_parent”,也就是说,我们文本框的宽度就是屏幕的宽度。...如下图 layoutpic003 我用的华为手机,第四层没居中,但是跑到底下来了。也就是说 center_horizontal 没起作用。...当你需要自己写一个View的时候,在View里面已经完成了你的逻辑(例如游戏^_^),那么这个View只需要一个容器放置,就可以使用FrameLayout了。

    1.1K10

    Android布局详解

    大家好,又见面了,我是你们的朋友全栈君。...,但是要注意方向,垂直的 ( 如果高不定 ) ,可以调整孩子在 left\centerhorizontal\right 如果是水平 ( 宽如果不定 ) 可以调整孩子在 top\centervertical...android:layout_centerInParent=”true” 居中 android:layout_centerHorizontal=”true” 水平居中 第二种:子视图之间相互参考,值对方视图的...在谁的左侧 android:layout_toRightOf 在谁的右侧 android:layout_above 在谁的上面 android:layout_below 在谁的下面 android:layout_alignTop...API Level 为 14 如果读者将布局设置为GridLayout时,会出现 莫名其妙的报错, 只需要将配置文件中的 MinSDK改成14或者以上版本 即可,保存 发布者:全栈程序员栈长,转载请注明出处

    1.5K20

    自定义角标库

    前言 角标的需求在app是经常需要用到的,比如未读通知/信息等,一般,我们可以通过嵌套相对布局的方式来设置角标,但是除了TextView,可能Button,ImageView等也需要,那只能写多次这类布局了...特性: 1.TipTextView:提供四种模式,固定模式,(默认/居中)环绕模式,垂直居中环绕模式和水平居中环绕模式,其中固定模式和居中环绕模式支持Drawable....(2)环绕方式: a.固定模式,角标会显示在View的固定位置,和View的宽高有关,不会随文本在View中的位置的改变而改变: ?...b.环绕模式:角标会一直环绕在文本的四周,与View的宽高没有直接关系: ? c.垂直环绕:当View的gravity=center_vertical时,推荐使用该模式。...; c:再看看,小红点所在的TextView的gravity属性不一定是center,这个TextView的宽度也是未知,比如上面图中的也可能为center-vertical,为了省掉占位的

    2K70

    自定义侧边快速索引栏

    和一般索引栏不太一样的地方: 只显示有出现的首字母 出现的索引字母居中显示 代码相对较简单 好吧,编不下去了,其实也没什么不一样的,可以看一下效果图。...第一个字母和控件顶部的距离 mMarginTop (用于居中显示) 每个字母本身的宽高 当控件的的宽高发生变化时,会执行 onSizeChanged 这个方法,在首次初始化时也会调用,所以前三个参数我们可以在这里获取到...至于字母的宽高,不同字母的宽高其实都不一样的,我们可以通过以下方法获取到: public float getTextWidth(String text) { Rect bounds = new...x 坐标 为了让字母在控件里左右居中显示,x 坐标就是控件总宽度的一半减去字母宽度的一半: float x = mWidth / 2 - getTextWidth(letter) / 2; 复制代码 y...首先和宽度类似,让字母在它占有的空间里面上下居中,也就是字母占有高度的一半加上字母高度的一半。

    62310

    良好的知识储备_listview控件的用法

    大家好,又见面了,我是你们的朋友全栈君。 在上一篇文章里,我总结了一下自定义控件需要了解的基础知识:View的绘制流程——《自定义控件知识储备-View的绘制流程》。...其中,在View的测量流程里,View的测量宽高是由父控件的MeasureSpec和View自身的LayoutParams共同决定的。...– LayoutParams是View用来告诉它的父控件如何放置自己的。...我认为有句名言说的在理: 脱离场景谈源码,都是在耍流氓 ——英明神武蘑菇君 上文提到,LayoutParams其实是父控件提供给child view的,好让child view选择如何测量和放置自己...方法的:如果布局是水平方向,则孩子们的宽高都是WRAP_CONTENT,而如果是垂直方向,高仍然是WRAP_CONTENT,但宽却变成了MATCH_PARENT。

    28520

    Constraintlayout约束布局三问

    " 我的底部与父view底部对齐 居中效果 设置位置,左边与父布局左边对齐,右边与父布局右边对齐,就会形成左右一个平局的拉力,也就居中显示与父布局了。...app:layout_constraintHorizontal_bias="0.3" 通过该属性可以设置在父布局中显示的位置,按比例显示,比如0.3就代表在3/10的位置。...app:layout_constraintHorizontal_weight="2" 比如上面给A设置权重为2,其他为1,宽设置为0dp,那么ABC的宽度就会按照2:1:1分布 虚拟视图辅助线Guideline...比如有个需求,是要我的view底部位置在布局的中间,那么就可以在中间画一条辅助线,然后view设置为辅助线之上位置显示即可 textview,不知道哪个textview更长,我需要在更长的textview右边显示一个imageview,就可以把两个textview设置为一个整体。

    1.6K10

    Android-ConstraintLayout详解

    基本用法 基本用法之可视化编写布局文件   在高版本的studio中默认采用constraintLayout布局,中间有一个textview,我们选中,delete删除.开始一个新的布局编辑。...app:layout_editor_absoluteX 这个是TextView在界面中的纵轴和横轴的绝对坐标,没有,删除就行了。...大家看到TextView上下左右四个小空心圆点了吧,我们就是通过这个空心圆点给每个控件添加约束,每个控件的约束都分为垂直和水平两类,一共可以在四个方向(上下左右)上给控件添加约束。...比如我们想让TextView居中: 控件居中显示_腾讯视频 位于某控件之下50dp处: 位于某控件底部50dp处_腾讯视频 2.删除约束 取消约束三种方式: 删除控件某一具体的约束(鼠标放在圆圈上变红后点击即可...那我们用一下MATCH_CONSTRAINT这个属性,我们让注册按钮的宽设置为:MATCH_CONSTRAINT,结果如下: ? 我为什么设置odp呢?

    1.8K10

    Android入门教程 | 使用 ConstraintLayout 构建自适应界面

    因此,视图的垂直平面(左侧和右侧)只能约束在另一个垂直平面上;而基准线则只能约束到其他基准线上。 每个约束句柄只能用于一个约束条件,但您可以在同一定位点上创建多个约束条件(从不同的视图)。...-- 相对父layout的边缘定位 --> TextView style="@style/ConSampleText" android:text="居中" app:layout_constraintBottom_toBottomOf...(并且同一维度的视图尺寸为“fixed”或者“wrap Content”)时,则该视图在两个约束条件之间居中且默认偏差为 50%。...Match Constraints 视图会尽可能扩展,以满足每侧的约束条件(在考虑视图的外边距之后)。...如果宽高其中一个设置了大于0的具体值或wrap_content,可以其为标准来调整另一个尺寸参数。

    2.6K10
    领券