好久没有写简书了,最近比较有空,觉得还是有必要整理一下学的知识。
运行效果
内容简概
一、Manifest配置程序 组件/名称/图标/样式
二、Activity显示界面
三、layout.xml对界面布局
四、Constraint添加约束
五、界面跳转
六、适配屏幕方向
七、简单动画
八、多语言支持
具体内容
一、Manifest配置程序 组件/名称/图标/样式
首先创建一个新工程,选择Empty activity,语言使用kolin。创建完毕后,工程已经有了基础的配置,这些配置信息一般都放在Manifest文件里,需要更改应用图标、应用名称等就在里面配置。
图标文件放在res/mipmap文件下,里面有原始图标,要替换时需要与原始图标大小一致。不同大小的图标适配不同的设备(电脑、iPad、手机等)。
我这里用72*72的图标,将图片复制粘贴到mipmap目录,然后在弹出的窗口选择对应的尺寸(我的是hdpi)即可。
在res/values/strings目录下配置应用名称。
或者从AndroidManifest文件的label标签,按ctrl键进入
二、Activity显示界面
Manifest文件中的activity标签管理主界面,下图中只有MainActivity一个主界面,按Ctrl键选中MainActivity跳转到对应类。
MainActivity和对应xml文件都可以管理主界面,二者用setContentView(R.layout.activity_main)关联。其中MainActivity主要负责管理交互
,activity_main.xml主要负责具体布局
。
三、layout.xml对界面布局
将一般图片放在drawable目录下,在activity_main.xml布局中拖动一个ImageView到模拟界面中,在右侧可以设置图片大小等配置。
四、Constraint添加约束
在界面中还要添加对应的约束,即告诉系统该控件对应的位置。添加约束相当于设置xy坐标。在界面中操作就是点击控件,拖动四周的圆点到界面的边缘,若拖动效果不满意,可以在右侧输入具体的值细调。右侧的设置也可以通过文字代码形式设置。
如果直接在text标签写上内容,就会出现警告,因为这是一个硬链接,通俗讲就是写死了,改起来很麻烦。
所以通常一些文本内容都会在string.xml文件中配置对应的软连接。配置的方法有两种,一种是直接在string.xml写,一种是点击activity界面右边的设置条。
比如这里我要更改button的文字,点击右侧text的设置条,在弹出的窗口点击加号,选择string value,最后填写名称和值即可。
五、界面跳转
要使点击按钮时触发一些事件,就需要监听按钮。首先给控件加上id,然后设置监听事件。
// 监听按钮
LoginButton.setOnClickListener {
// 添加旋转动画,动画结束后再跳转到下一个界面
}
实现界面跳转先要准备一个新的界面,创建一个空的activity。
然后在MainActivity中配置
// 界面跳转
startActivity(Intent(this,DetailActivity::class.java))
另外,我们还需要从跳转界面返回主界面,在Manifest文件中设置DetailActivity界面的父界面。
<activity android:name=".DetailActivity"
android:parentActivityName=".MainActivity">
</activity>
六、适配屏幕方向
如果需要横屏,则配置一个资源路径,在res目录下添加一个资源路径。
添加后转到project模式,在layout-land目录下添加需要横屏的界面xml文件(我这里添加activity_detail.xml)
然后在Manifest文件设置横屏,screenOrientation=landscape,默认是竖屏。
<activity android:name=".DetailActivity"
android:parentActivityName=".MainActivity"
android:screenOrientation="landscape">
</activity>
此时跳转界面后就是横屏了,这种常见于横屏手游中。
七、简单动画
这里为了简化代码,新建一个MyAnimatorListener类。
然后在MainActivity中配置
// 监听按钮
LoginButton.setOnClickListener {
// 添加旋转动画,动画结束后再跳转到下一个界面
ObjectAnimator.ofFloat(mHeader,"rotation",0f,360f).apply { this
duration=100
repeatCount=6
start()
addListener(object : MyAnimatorListener(){
override fun onAnimationEnd(p0: Animator?) {
// 界面跳转
startActivity(Intent(this,DetailActivity::class.java))
}
})
}
}
八、多语言支持
打开open edit
点击地球图标,选择需要的语言,我这里选择English
选择语言后,在新增一栏填写对应的语言翻译
项目运行时会根据手机设置的语言显示不同的文字。
网友评论