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

    xiaoxiao2021-03-25  34

    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,显示在最上层的垂直方向可以让用户滚动的箭头。 <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><ScrollViewandroid:id="@+id/myScrollView"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello"android:id="@+id/myTextView"/></ScrollView></LinearLayout>

    转载请注明原文地址: https://ju.6miu.com/read-299998.html

    最新回复(0)