Android 界面布局
布局
界面元素
固定大小,无需变动。---通过空白出来适应尺寸
可变动大小--通过变化来适应。
两者兼有--通过排版,来优化组合。
android
|
web-css
|
destop
|
|
整体尺寸是否变动
|
主窗口随不同分辨率变动
|
有窗体固定尺寸的。
有自适应的
|
有窗体固定尺寸的。
有自适应的
|
自适应
|
match_parent
|
bootstrap
整体div width=100%,背景色能填满
中间部分采用
<div container>
@media (min-width: XXpx)
根据实时宽度分成好几个区间。到达某个区间后调整尺寸。
内容相对集中。
< div=row 来控制偏移这些
<div=colx
</div>
来完成整体布局。
|
|
整体
上下左右结构
层叠
嵌套
|
AppBarOverLay
layout-
BottomNavigation
感觉也是默认垂直方向下来。
页面创建就必须会存在一个layout。
都是按layout的特性来规划。
层叠
分挺多种情况的,
线性布局里面每个元素会铺开。
相对布局中,
默认都是放在左上角。。
然后看起来也不是全覆盖,透明累积显示。
指定layout_above这种来设置关系。
还可以
layoutA -match_parent来占据整个层。
layoutB-match——bottom
试了下,layoutB默认就是透明的,会显示出layoutA的底色
嵌套
<include layout="@layout/content_main" />
|
html
是流动Flow模型
默认垂直方向-块状元素以行的形式占据位置。
改水平方向-通过float,或者width比例。
<div position= fixed left=0,right=0>
<div position =relative
<div float=left>
<div float=left>
或者
<div width= x%>
<div width=x%>
<div>
层叠
使用z_index来指定顺序
|
menu
panel-
align=left
align=client
status
align=bottom
容器的功能很少。
基本都是拖拽一下,对对齐。
没啥布局概念。
层叠
先看控件之间特定的层级关系,
再看控件添加进来的顺序。
不太涉及布局容器间的关系。
|
局部
|
layout-即作为整体的布局组件。
又作为控件内部的布局组件。 (如listview)
水平,垂直好理解
RelativeLayout
相对于父布局的位置。top,left,right,bottom
感觉类似于delphi控件里的各种属性。
相对于兄弟控件的位置。
layout_toRightOf
layout_below
格子占的比例--思路有点不一样
先分配控件自身占用的位置,再用layout_weight来分配空余的空间。
也有说是就按layout_weigh的值来分配空间。
这里layout_width设置会不起作用,一般写成0dp。
这个只能用再linearlayout?
其它的可以用百分比布局
app:layout_widthpercent="xx%"
TabLayout
viewPager 来填充
viewPagerAdapter
adapter.addFragment(Fragment,Title)
tilte-标签页名称
Fragment-显示内容
|
列表组件
ul
table
<ul>-垂直排列
<li><div><span1></div></li>水平排列
</ul>
|
容器
|
元素属性
|
长,宽,margin,gravity[相当于align]
居中-layout_centerInParent="true"
居右-layout_alignParentRight="true"
visibility-“visible ”、“invisible”、“gone”-隐藏,不保留占有的空间。
装饰填补-
<View
android:layout_width="match_parent".
android:layout_height="8dp"
android:background="@drawable/title_shadow" />
<View
android:layout_width="1px"
android:layout_height="match_parent"
android:background="@color/normal_bg_color" />
不同状态下的显示
焦点,点击状态等
通过background设置一个xml分样式
<selector>
<item state_focused=true drawable="">
主要设置过去
|
position --位置
固定位置
fixed---已网页窗口为基准
absolute-已容器为基准
偏移值
relative-申明了此属性,才能用left,right这些偏移值。
float
使元素在水平方向布局。
也可以用width=x%来栅格化
display --显示模式
感觉就 是否换行的区别。
块状-block
内联-inline
oncursor--
|
|
实际响应
|
Buttom--点击效果
button-自带涟漪效果
imageButton--通过xml设置
state_pressed=true or false
这里直接指定图片可能会被拉伸,要<bitmap>这种格式设置
Radio--选择效果
RadioButton--通过xml设置
state_checked=true or false
闪烁效果
Timer.schedule(task,period)
task
run setBackgroudResource(A or B)
Timer.cancel
|