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

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

组件增加行 : 如果直接向TableLayout中添加组件, 就相当于直接添加了一行; 宽 : TableLayout中, 宽度由该最宽单元格决定, 整个表格宽度默认充满父容器本身; 2....收缩 :Shrinkable, 如果某被设为Shrinkable, 那么该所有单元格宽度可以被收缩, 保证表格能适应父容器宽度; b...., android:width : 指定组件宽度, 可以指定一个 数字 + 单位 , 100px 或者 100dp; 同理 android:layout_height 和 android:height...各种单位介绍 px : 像素, 每个px对应屏幕一个点; dip/dp : device independent pixels, 设备独立像素, 这种单位基于屏幕密度, 在每英寸160点显示器..., 沿长宽方向排列像素,密度低屏幕像素少,密度高屏幕像素多; 如果像素为单位, 同一个按钮在高密度屏幕 要比 在低密度屏幕要大.

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

Android从零单排系列二十九】《Android布局介绍——LinerLayout》

-- 子视图元素 --> 在上述代码中,我们创建了一个垂直方向LinearLayout,并将其宽度设置为与父视图相匹配(match_parent),高度根据子视图自适应...嵌套:可以嵌套多个LinearLayout实现更复杂布局结构。 大小测量:LinearLayout会根据子视图测量要求和布局参数来计算自身大小和子视图位置。...可以使用android:layout_width和android:layout_height属性来设置LinearLayout宽度和高度。...android:dividerPadding:设置分隔线间距。 这些方法和属性可以用于灵活地控制LinearLayout布局方向、对齐方式、权重分配等,满足不同布局需求。...这个简单LinearLayout案例展示了如何在垂直方向上排列文本和按钮,并通过android:layout_gravity属性实现水平居中对齐。

21230

Android瀑布流照片墙实现,体验不规则排列美感

记得我在之前已经写过一篇关于如何在Android实现照片墙功能文章了,但那个时候是使用GridView来进行布局,这种布局方式只适用于“墙”每张图片大小都相同情况,如果图片大小参差不齐,...而使用瀑布流布局方式就可以很好地解决这个问题,因此今天我们也来赶一下潮流,看看如何在Android实现瀑布流照片墙功能。...每当需要添加一张图片时,会将这张图片宽度压缩成和一样宽,再按照同样压缩比例对图片高度进行压缩,然后在这三中找出当前高度最小,将图片添加到这一中。...下面我们就来开始实现吧,新建一个Android项目,起名叫PhotoWallFallsDemo,并选择4.0API。 第一个要考虑问题是,我们到哪儿去收集这些大小参差不齐图片呢?...,获取MyScrollView高度,以及得到第一宽度值。

2.8K50

Android六大布局

区别 为什么 XML 资源文件要从文本格式编译成二进制格式 Android 资源管理框架又是如何快速定位到最匹配资源 LinearLayout(线性布局) 线性布局是程序中最常见布局方式之一,线性布局可以分为水平线性布局和垂直线性布局两种...--子元素与父元素边缘距离,设置在子元素--> android:orientation android:layout_weight ="1" <!...(表格布局) // 特点 Shrinkable : 该宽度可以进行收缩,以使表格能够适应父容器大小 Stretchable : 该可以进行拉伸,填满表格中空闲空间 Collapsed...如果是ViewGroup组件LinearLayout的话,则为设置它内部view组件对齐方式。 layout_gravity是设置本元素自身相当于父元素对齐方式。...Android 资源管理框架又是如何快速定位到最匹配资源 // 主要基于两个文件: 资源 ID 文件 R.java:赋予每一个非 assets 资源一个 ID 值,这些 ID 值常量形式定义在

2.6K20

Carson带你学Android:最全面、最易懂屏幕适配解决方案

,希望进行以下设置: 在平板电脑和电视屏幕(>7英寸):实施**“双面板”**模式同时显示更多内容 在手机较小屏幕:使用单面板分别显示内容 因此,我们可以使用尺寸限定符(layout-large...7寸平板电脑分别加载不同布局 于是,在Android 3.2及之后版本,引入了最小宽度(Smallest-width)限定符 定义:通过指定某个最小宽度 dp 为单位)来精确定位屏幕从而加载不同...UI资源 使用场景 你需要为标准 7 英寸平板电脑匹配双面板布局(其最小宽度为 600 dp),在手机(较小屏幕匹配单面板布局 解决方案:您可以使用上文中所述单面板和双面板这两种布局,但您应使用...图片时, android:background="@drawable/button" 系统就会根据控件大小自动地拉伸你想要拉伸部分 ”用户界面流程“匹配 使用场景:我们会根据设备特点显示恰当布局...根据UI设计师给出设计图上尺寸,找到对应像素数单位,然后设置给控件即可 步骤1:某一分辨率为基准,生成所有分辨率对应像素数列表 现在我们320x480分辨率为基准: 将屏幕宽度分为320份

1.3K10

善用TableLayout表格布局,事半功倍

TableLayout继承了 LinearLayout,因此它本质依然是线性布局管理器。...在表格布局中,宽度由该中最宽那个单元格决定,整个表格布局宽度则取决于父容器宽度(默认总是占满父容器本身)。 在表格布局管理器中,可以为单元格设置如下3种行为方式。...Shrinkable:如果某个被设为Shrinkable,那么该所有单元格宽度可以被收缩,保证该表格能适应父容器宽度。...Stretchable:如果某个被设为Stretchable,那么该所有单元格宽度可以被拉伸,保证组件能完全填满表格空余空间。...TableLayout继承了 LinearLayout,因此它完全可以支持LinearLayout所支持全部XML属性。

1.6K90

Android Layput布局

(1) LinearLayout LinearLayout线性布局,包含在LinearLayout里面的控件按顺序排列成一行或者一,类似于Swing里FlowLayout和Silverlight里...StackPanel,它常用属性主要包括: Orientation方向,即指定LinearLayout是代表一行还是一,可以为horizontal或vertical,android:orientation...Weight权重,如果你想让一行或一控件按比例显示,这时候权重就起到作用了,想让一行里面两控件其中一控件占两倍于另一控件空间,可以把其中一控件android:layout_weight设置为1...如果一内容过长或者过短,可以通过android:stretchColumns和android:shrinkColumns来增加或者减少此列宽度。 来看一下官方一个Demo: 这个表格有三,通过设置android:stretchColumns="1"来增加了第二宽度

96820

Android应用界面开发——布局

UI = 控件 + 布局,一节介绍是简单控件,这里主要介绍一下Android应用界面开发中布局。 五大布局 LinearLayout:线性布局。 RelativeLayout:相对布局。...LinearLayout子元素支持常用XML属性: android:layout_weight:设置该子元素在LinearLayout中所占比重。...TableLayout 表格布局继承了LinearLayout,因此它本质依然是线性布局。 表格布局通过添加TableRow、其他组件来控制表格行数和数。...在表格布局管理器中,可以为单元格设置如下3种行为方式: Shrinkable:该所有单元格宽度可以被收缩,保证该表格能适应父容器宽度。...Stretchable:该所有单元格宽度可以被拉伸,保证组件能完全填满表格空余空间。 Collapsed:该所有单元格会被隐藏。

1.3K20

Android开发:最全面、最易懂Android屏幕适配解决方案

7寸平板电脑分别加载不同布局 于是,在Android 3.2及之后版本,引入了最小宽度(Smallest-width)限定符 定义:通过指定某个最小宽度 dp 为单位)来精确定位屏幕从而加载不同...UI资源 使用场景 你需要为标准 7 英寸平板电脑匹配双面板布局(其最小宽度为 600 dp),在手机(较小屏幕匹配单面板布局 解决方案:您可以使用上文中所述单面板和双面板这两种布局,...sw600dp 选择器,因此,系统会将此文件匹配到不同版本>7寸平板: a....图片时, android:background="@drawable/button" 系统就会根据控件大小自动地拉伸你想要拉伸部分 ---- ”用户界面流程“匹配 使用场景:我们会根据设备特点显示恰当布局...根据UI设计师给出设计图上尺寸,找到对应像素数单位,然后设置给控件即可 步骤1:某一分辨率为基准,生成所有分辨率对应像素数列表 现在我们320x480分辨率为基准: 将屏幕宽度分为320份

2.6K70

Android训练课程(Android Training) - 构建你第一个应用

返回一屏幕去寻找 开发者选项 在Eclipse中启动应用: 注意:我们常常使用Eclipse英文版本,对于Eclipse里一些英文都不在翻译,应对读者找不到按钮情形。...这个值定义了视图如何展开它们宽度和高度去匹配它们父控件宽度和高度。 关于布局属性更多内容,请阅读 Layout 指南。...下面演示了 你如何在 元素内定义它: EditText android:id="@+id/edit_message" android:layout_width="wrap_content...如果你使用"match_parent"来代替,这时 EditText元素将会填充满整个屏幕,因为它将会匹配父布局LinearLayout尺寸。更多信息请阅读 Layouts 指南。...设置宽度为0增进了布局性能,因为使用"wrap_content"作为宽度需要系统计算得出一个基本不相关结果,因为weight值需要其他宽度计算填满整个剩余空间。

2.1K00

Android开发学习笔记之一】5大布局方式详解

23 例如,在水平布局LinearLayout中有两个Button,这两个Buttonlayout_weight属性值都为1, 24 那么这两个按钮都会被拉伸到整个屏幕宽度一半...0控件宽度或者高度, 26 再用剩余宽度或高度按相应比例来分配每一个控件显示宽度或高度--> 27 <TextView 28...帧布局 帧布局是从屏幕左上角(0,0)坐标开始布局,多个组件层叠排列,第一个添加组件放到最底层,最后添加到框架中视图显示在最上面。一层会覆盖下一层控件。 简单例子 ①效果图: ?...表格布局常用属性如下: android:collapseColumns:隐藏指定 android:shrinkColumns:收缩指定适合屏幕,不会挤出屏幕 android:stretchColumns...:尽量把指定填充空白部分 android:layout_column:控件放在指定 android:layout_span:该控件所跨越数 简单例子: ①效果图: ?

74680

Android开发中TableLayout表格布局

前边博客有介绍过关于LinearLayout线性布局相关内容,LinearLayout只能进行水平或者垂直方向上排列布局,使用LinearLayout布局嵌套,实际也可以实现表格布局样式。...实际,TableLayout就是采用这样原理,TableLayout继承于LinearLayout,其中每个视图元素作为一行,同时Android中还提供了一个TableRow类,这个类同样继承自LinearLayout...默认宽是评分整个行宽,可以通过指定宽度或者权重来修改特定宽。        ...还有一点需要注意,如果一个TableLayout布局中多个TableRow,则表格数会最多一行为准,例如在添加一行TableRow,而其中只有一,则其依然会预留4位置,示例如下: TableRow...) 所谓可收缩,是指如果此列内容宽度超出一定宽度,为了使后面的内容展示出来,此列宽度会自动收缩,高度会增加,如下图所示: ?

1.6K30

LinearLayout(线性布局)

android:layout_weight="1"通过设置控件layout_weight属性控制各个控件在布局中相对大小,线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight...在水平布局LinearLayout中有两个Button,这两个Buttonlayout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度一半。...如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0控件,系统将会减去layout_weight属性值为0控件宽度或者高度,再用剩余宽度或高度按相应比例来分配每一个控件显示宽度或高度...39 android:gravity="center|bottom" 40 android:text="第三" 41 android...android:background="#aaaa00" 49 android:gravity="bottom" 50 android:text="第四

71290

Android之布局详解

设置滚动条淡入淡出时间 android:scrollbarDefaultDelayBeforeFade 设置滚动条N毫秒后开始淡化,毫秒为单位。...这个布局会将它所包含控件在线性方向上依次排列。 既然是线性排列,肯定就不仅只有一个方向,那为什么一节中控件都是在垂直方向排列呢?...注意:如果LinearLayout排列方向是horizontal,内部控件就绝对不能将宽度指定为match_parent,因为如果这样的话,单独一个控件就会将整个水平方向占满,其他控件就没有可放置位置了...③tablerow中组件个数就决定了该行有多少列,而宽度由该中最宽单元格决定 ④tablerowlayout_width属性,默认是fill_parent,我们自己设置成其他值也不会生效...:设置允许被收缩序号 android:stretchColumns:设置运行被拉伸序号 以上这三个属性号都是从0开始算,比如shrinkColunmns = “2”,对应是第三

1.9K10

Android入门教程(三)-安卓UI文档教程

android fill_parent 表示宽度是屏幕宽度,wrap_content 这个表示大小刚好是文本大小,表示高度,就是该字体有多高,文本框就有多高,同理宽度也一样。...” 这两个属性来描述该控件高度和宽度,高度为文本即是字体高度,宽度即是屏幕宽度。...这就是gravity属性描述控件内部文本格式。 其实还有很多不同显示,你可以自己操作一遍试试。 LinearLayout线性布局 LinearLayout是很常用布局,什么是线性布局?...:属性值为具体像素值,30dip,40pxandroid:layout_marginBottom 离某元素底边缘距离android:layout_marginLeft 离某元素左边缘距离android.../huangguangda/RelativeLayoutTableLayout表格布局TableLayout 将子元素位置分配到行或中, 是一个行、显示视图View视图组。

59920

Android入门教程(三)

android fill_parent 表示宽度是屏幕宽度,wrap_content 这个表示大小刚好是文本大小,表示高度,就是该字体有多高,文本框就有多高,同理宽度也一样。...” 这两个属性来描述该控件高度和宽度,高度为文本即是字体高度,宽度即是屏幕宽度。...LinearLayout线性布局 LinearLayout是很常用布局,什么是线性布局,那就是垂直和水平两种布局来排列。...第三类:属性值为具体像素值,30dip,40px android:layout_marginBottom 离某元素底边缘距离 android:layout_marginLeft 离某元素左边缘距离.../huangguangda/RelativeLayout TableLayout表格布局 TableLayout 将子元素位置分配到行或中,是一个行、显示视图View视图组。

64320

Android LinearLayout实现自动换行

由于前段时间项目中使用到了自动换行线性布局,本来打算用表格布局在里面一个个用Java代码添加ImageView,但是添加View控件是不确定,因为得靠服务器数据返回,就这样手动用Java代码画布局方式就这样夭折了...orentation 设置为vertical 为竖直方向也就是只有一,每行只能显示一个View或者View子类,当设置LinearLayoutorentitation为Horizontal,LinearLayout...需要了解是怎么样绘制根据子控件长宽绘制父控件宽度与高度,所以需要传入参数控件高度,视图分为两种一种是View类型,代表控件有TextView,Button,EditText 等等,还有一种是装视图容器控件继承自...ViewGroup控件,LinearLayout,RelativeLayout,TabHost等等控件,需要自动换行线性布局的话,就需要根据子控件高度与宽度,来动态加载父控件高度与宽度,所以需要在构造函数中传入每一个子控件固定高度...,或者是动态设置子控件高度与宽度

4.5K51
领券