为了更好地理解如何进行UI开发,下面我们来一起制作一些简单的页面,并学习一些简单的处理。
一. 页面启动
要想看到我们编写的程序的显示效果,就必须得能够将我们编写的页面运用到手机或者虚拟机上。
那么如何将页面显示出来呢?项目是如何运行的呢?
1. 虚拟机创建/实机连接(使用Android Studio开发)
这一步确保我们的项目有运行的载体,可以将项目安装到虚拟机或实机上进行运行
虚拟机的建立我们
如何操作可以参考主页博客 “Android Studio安装与环境配置”文章
2. Mainfest.xml配置文件:
我的Manifest文件如图:
1处列出了项目的多个Activity,带有2处代码的Activity是项目启动时打开的Activity。(可以通过更改2处代码的位置来改变项目默认打开Activity)
我的项目的默认打开Activity则是MainActivity。
2. Activity如何显示页面
项目会首先调用activity的onCreat()方法,setContentView(……layout)即为这个activity页面设置布局。运行即可看到相应的页面
二 常见组件
1. TextView:
1.1 简介:继承于View,用于显示文本的组件,是一种常用的组件
1.2 设置方法:
- 编辑xml文件,常用于设置固定的文本,静态设置
- 在代码中设置,常用于设置服务器下发的数据,动态设置
1.3 EditView:
继承于TextView,用于可编辑的文本,常见使用:输入框
1.4 常见的属性:
android:autoLink:使用该属性可以对文本中的链接进行自动识别
常取得值:
- none:不进行识别
- web:识别网址
- email:识别邮箱
- phone:识别电话
- map:识别地理坐标
- all:识别所有类型链接
可以使用 | 来识别多种组合类型
1.5 文本资源:
- 可以使用html中的
<b>加粗</b>
<i>斜体</i>
与android:textStyle有什么区别:
使用标签可以只对部分加粗,斜体;而采用textStyle属性则是对文本整体设置
- 文本资源中可以使用
- \ n来换行
- \来转义
spanable方法:
为文本添加各种样式和效果
属性各种组件、各种属性即可。
三 动画
1. 作用:
- 界面切换:Activity,Fragment之间的切换
- 提示用户: 加载的旋转效果、下拉刷新的动态
- 视图变化:列表删除、点赞效果
2. 分类
类别 | 原理 | 适用场景 | 优点 | 缺点 |
---|---|---|---|---|
帧动画 | 类似于动画片电影,快速切换不同图像帧来制造动态画面的效果 | 简单逐帧播放的动画,如loading | 实现简单,易于理解 | 预先准备多张图像,资源占用较大;不好实现复杂的动画效果 |
补间动画 | 根据设定的起始值和结束值,按照一定的时间变化规律,生成一系列中间帧的效果,从而实现平滑过渡的效果 | 平移,缩放、旋转和透明度变化 | 简单易用,节约资源 | 功能简单,只改变了View的展示效果,并没有改变属性 |
属性动画 | 真正改变了组件的属性 |
3. 实现:
- 创建相应的xml文件,编写动画
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:fromAlpha="1"
android:toAlpha="0"
android:repeatCount="-1"
android:duration="800"
android:repeatMode="reverse"
>
</alpha>
fromAlpha:起始透明度为1,完全不透明
toAlpha:到达透明度为0,完全透明
repeatCount:重复次数,“-1”代表无限重复
duration:持续时间
repeatMode:重复方式,reverse是倒回来,从0到1后再从1到0;restart是重新开始,从0到1后再从0到1;
- 为相应的组件添加动画
在相应的activity.kt中:
private fun weather_alpha(){
var li_weather = findViewById<LinearLayout>(R.id.weather) //找到组件
val alpha = AnimationUtils.loadAnimation(this, R.anim.alpha_anim) //找到动画
li_weather.startAnimation(alpha)
}
属性各个动画,各个属性;能够运用即可