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
   
 

 
posted @ 2021-08-11 10:33  shijianbo  阅读(139)  评论(0)    收藏  举报