Android核心技术之(3)下---常用的UI布局

1.概述

•布局本身是不能显示出任何数据,它可以包含一些子视图, 并控制子视图的布局
•常用的Layout:LinearLayout、RelativeLayout、FrameLayout、ListView、GridView

属性:

针对任何View的属性

•常用的最基本属性
•内边距属性padding
•外边距属性margin

只针对RelativeLayout的属性

•反方向对齐属性to/above/below
•同方向对齐属性  align
•相对父视图的属性  alignparent/center

只针对LinearLayout的属性

•权重属性  weight
•方向属性 oritation

属性名

作用

id

为控件指定相应的ID  @+id/idname

layout_width

指定当前视图的宽度

layout_height

指定当前视图的宽度

text

指定控件当中显示的文字

textSize

指定控件当中字体的大小

background

指定该控件所使用的背景(图片|颜色)

layout_gravity

控件本身相对于父视图的位置

grivity

指定控件中的内容的基本位置


2. LinearLayout

•线性布局: 用来控制其子View以水平或垂直方式展开显示
•重要属性:
–orientation(方向): vertical(垂直方向)、
–layout_weight(权重)

•layout_weight(权重)的值
•=0(默认值): 指定多大空间就占据多大的空间
•>0:  将父视图中的可用空间进行分割, 值越大权重就越大, 占据的比例就会越大

•Layout_weight的使用场景
•将布局的宽度或高度平均分成几个等份
•垂直方向上占用中间所有空间 或水平方向上占用中间所有空间

3.RelativeLayout

•相对布局: 用来控制其子View以 相对定位的方式进行布局显示
•相对布局是 最灵活, 最强大,也是学习难度最大的布局
•相对布局相关属性比较多:
     • 兄弟视图之间: 同方向对齐, 反方向对齐
与父视图之间: 同方向对齐, 居中


4.FrameLayout

帧布局中的每一个子View都代表一个画面,默认以屏幕左上角作为( 0,0 )坐标,按定义的先后顺序依次逐屏显示,后面出现的会覆盖前面的画面,

通过子View的android:layout_gravity 属性来指定子视图的位置


5. ListView、GridView

•ListView是一种用来 显示多个可滑动项 (Item) 列表的的ViewGroup
•需要使用 Adapter集合数据和每一个 Item 所对应的布局动态适配到ListView中显示
•显示列表: listView.setAdapter (adapter)
•更新列表 : adapter.notifyDataSetChanged ()

Adapter:

ArrayAdapter: 显示最简单的列表(文本)

集合数据为List<String>String[]

SimpleAdapter: 显示复杂的列表

集合数据必须是List<Map<String,Object>>类型

BaseAdapter: 显示复杂的列表

集合数据可以是任意类型的集合List<Xxx>

SimpleCursorAdapter: 显示复杂的列表

集合数据是数据库查询结果集


6.样式(Style)
•理解:多个 视图属性的集合, 在写布局时, 当多个视图有不少相同的属性时, 可以把这些相同的属性放在一起在 styles.xml中定义成一个Style,而在 布局文件 使用 @style/ style_name统一引用
•作用:复用视图标签属性
•目标:针对的是窗口中的某些 视图
•系统样式:Android也定义了些系统样式可以使用
•使用系统样式: @ android:style /xxx

7.主题(theme)
•理解:主题的本质 也是 style
•在styles.xml中定义, 在 manifest.xml 中引用
•作用:复用视图标签属性
•目标:针对 整个应用某个 Activity的界面
•系统常用主题:
•@android:style/Theme.Light.NoTitleBar : 没有标题
•@android:style/Theme.Light.NoTitleBar.Fullscreen: 全屏
•@android:style/Theme.Dialog : 对话框

8. ScrollView

一种可供用户滚动的层次结构布局容器,允许显示比实际多的内容。ScrollView是一种FrameLayout,意味需要在其上放置有自己滚动内容的子元素。子元素可以是一个复杂的对象的布局管理器。通常用的子元素是垂直方向的LinearLayout,显示在最上层的垂直方向可以让用户滚动的箭头。


  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <ScrollView
  8. android:id="@+id/myScrollView"
  9. android:layout_width="fill_parent"
  10. android:layout_height="fill_parent"
  11. >
  12. <TextView
  13. android:layout_width="fill_parent"
  14. android:layout_height="wrap_content"
  15. android:text="@string/hello"
  16. android:id="@+id/myTextView"
  17. />
  18. </ScrollView>
  19. </LinearLayout>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值