UI开发实操-编写xml文件

为了更好地理解如何进行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 设置方法:

  1. 编辑xml文件,常用于设置固定的文本,静态设置
  2. 在代码中设置,常用于设置服务器下发的数据,动态设置

1.3 EditView:

继承于TextView,用于可编辑的文本,常见使用:输入框

1.4 常见的属性:

在这里插入图片描述
android:autoLink:使用该属性可以对文本中的链接进行自动识别
常取得值:

  • none:不进行识别
  • web:识别网址
  • email:识别邮箱
  • phone:识别电话
  • map:识别地理坐标
  • all:识别所有类型链接

可以使用 | 来识别多种组合类型

1.5 文本资源:

  1. 可以使用html中的
<b>加粗</b>
<i>斜体</i>

与android:textStyle有什么区别:
使用标签可以只对部分加粗,斜体;而采用textStyle属性则是对文本整体设置

  1. 文本资源中可以使用
    • \ n来换行
    • \来转义

spanable方法:
为文本添加各种样式和效果

属性各种组件、各种属性即可。

三 动画

1. 作用:

  • 界面切换:Activity,Fragment之间的切换
  • 提示用户: 加载的旋转效果、下拉刷新的动态
  • 视图变化:列表删除、点赞效果

2. 分类

类别原理适用场景优点缺点
帧动画类似于动画片电影,快速切换不同图像帧来制造动态画面的效果简单逐帧播放的动画,如loading实现简单,易于理解预先准备多张图像,资源占用较大;不好实现复杂的动画效果
补间动画根据设定的起始值和结束值,按照一定的时间变化规律,生成一系列中间帧的效果,从而实现平滑过渡的效果平移,缩放、旋转和透明度变化简单易用,节约资源功能简单,只改变了View的展示效果,并没有改变属性
属性动画真正改变了组件的属性

3. 实现:

  1. 创建相应的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;

  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)
    }

属性各个动画,各个属性;能够运用即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值