android java写ui_Android 开发[1]UI界面深入学习

Android UI

Android 开发APP中所有的用户界面元素都是View和ViewGroup的对象构成的。View是绘制在屏幕上的用户能与之交互的一个对象。而ViewGroup则是一个用于存放其他View(和ViewGroup)对象的布局容器!

View:所有可视化控件的父类,提供组件描绘和时间处理方法

ViewGroup: View类的子类,可以拥有子控件,可以看作是容器 Android UI中的控件都是按照这种层次树的结构堆叠得,而创建UI布局的方式有两种, 自己在Java里写代码或者通过XML定义布局,后者显得更加方便和容易理解! 也是我们最常用的手段!另外我们一般很少直接用View和ViewGroup来写布局,更多的 时候使用它们的子类控件或容器来构建布局!

1 布局

1.1布局分类

线性布局 LinearLayout

相对布局 RelativeLayout

帧布局 FrameLayout

绝对布局 AbsoluteLayout

表格布局 TableLayout

百分比布局 PercentFrameLayout

网格布局 GridLayout

约束布局 ConstraintLatout

1.2 布局属性

在学习Andoid开发中了解其布局分类的特性不算复杂,但是在实际开发中设置布局属性的时候总会出现问题,有一些布局属性是共有属性,而有一些是私有特性。

公共属性

属性

作用

具体

layout_width、layout_height

设置控件的宽、高

layout_with=" " ; layoutheight=""

layout_marginXXX

设置控件边缘相对于父控件的边距

layout_marginLeft=""; layout_marginRight=""; layout_marginTop=""; layout_marginBotton=""

paddingXXX

控件内容的边缘相对控件的边距

padding_left=" "; paddingRight=" "; paddingTop=""; paddingBotton=""

layout_gravity

控件相对于父控件的剧中位置

layout_gravity="center";正居中layout_gravity="center_horizontal";水平居中 layout_gravity="center_vertical";垂直居中

gravity

控件内容相对于控件的居中位置

gravity="center"; gravity="center_horizontal"; gravity="center_vertical"

私有属性

a6e02abf1a740f38a67cd129a1979039.png

2 控件

2.1 常用控件

TextView 文本框

EditText 编辑框

CheckBox 复选框

Button 按钮

RadioButton 单选框

Spinner

ScrollView

ProgressBar

ImageView

ImageButton

2.2 视图

GridView 网格视图

ListView 列表视图

RecycleView 滚动视图

Menu

Option Menu 选项菜单

Context Menu 上下文菜单

Sub Menu 子菜单

Dialog

AleryDialog 警告对话框

ProgressDialog 进度对话框

DatePickerDialog 时间选择对话框

Others

Toast

Notification

PopupWindow

2.3 自定义控件

ViewPager

TabHost 选项卡

2.4 开源控件

3 XML

布局定义用户界面的视觉结构一般可以通过两种方式声明布局:

1.在XML文件声明UI元素

2.运行时实例化元素 通过编程创建View对象和ViewGroup对象

3.1 XML文件编写

您可以利用 Android 的 XML 词汇,按照在 HTML 中创建包含一系列嵌套元素的网页的相同方式快速设计 UI 布局及其包含的屏幕元素。

每个布局文件都必须只包含一个根元素,并且该元素必须是视图对象或 ViewGroup 对象。定义根元素之后,即可再以子元素的形式添加其他布局对象或小部件,从而逐步构建定义布局的视图层次结构。例如,以下这个 XML 布局使用垂直 LinearLayout 来储存一个 TextView 和一个 Button:

`

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text=" TextView" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Button" />

`

3.2 加载XML文件资源

每一个xml布局文件会被编译到一个View资源中。为了加载布局文件资源,我们需要在Activity的OnCreate()方法中通过调用setContentView方法加载布局文件资源。

4 高级UI

Fragment

ActionBar

ViewFlipper

5 样式和主题

6 布局优化

include、ViewStub、merge

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值