安卓学习,android屏幕适配终极解决方案

本文详细介绍了Android应用开发中如何进行屏幕适配,包括Activity的生命周期、启动模式、数据传递以及如何在不同Activity间穿梭。此外,还讨论了如何在Android中创建Intent,使用隐式Intent启动其他应用组件,以及如何使用putExtra()传递数据。同时,文章涵盖了Activity的finish()方法,onSaveInstanceState()用于保存状态,以及如何通过StartActivityForResult()返回数据。最后,探讨了Activity的启动模式,如standard、SingleTop和SingleTask,以及如何实现程序退出。
摘要由CSDN通过智能技术生成

infalte(这个参数是通过那个资源文件创建菜单,创建的菜单项添加到那个Menu对象当中)

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
super.getMenuInflater()
menuInflater.inflate(R.menu.main,menu)
return true
}

override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId){
R.id.add_item->Toast.makeText(this,“你好”,Toast.LENGTH_SHORT).show()
R.id.remove_item->Toast.makeText(this,“你不好”,Toast.LENGTH_SHORT).show()
}
return true
}
}

摧毁一个Activity: finish()方法

方式一:在监听器中

val button:Button=findViewById(R.id.button)
button.setOnClickListener {
finish()
}

方式二:手机back键

使用Intent在Activity中穿梭

主Activity跳转到其它Activity

显示Intent

//第一个参数就是主Activi作为上下文,第二个参数就是传入的要启动的目标Activity
val intent=Intent(this,SecondActivity::class.java)
//启动
startActivity(inten)

第一步兴建一个Activity,在主FirstActivity中修改代码,

val button:Button=findViewById(R.id.button)
button.setOnClickListener {
val intent=Intent(this,SecondActivity::class.java)
startActivity(intent)
}

隐式的Intent

不明确指定哪一个Activity,而是指定抽象的action和category,交由系统分析启动哪一个Activity

修改AndroidManifest.xml代码

//这是一个默认的category

在FirstActivity中启动匹配

val button:Button=findViewById(R.id.button)
button.setOnClickListener {
val intent=Intent(“com.example.activitytest.ACTION_START”)
startActivity(intent)
}

更多隐式Intent

调用系统浏览器来启动网页

将一个网址字符串解析成一个Uri对象
在通过Intent的setdata将Uri对象传递出去
intent.data=Uri.parse(“https://www.baidu.com”)

val button:Button=findViewById(R.id.button)
button.setOnClickListener {
//这是安卓内置动作
val intent=Intent(Intent.ACTION_VIEW)
intent.data= Uri.parse(“https://www.baidu.com”)
startActivity(intent)
}

在data标签主要匹配内容

android:scheme 用于指定数据的协议部分,如www.baidu.com中的http部分。 android:host 用于指定数据的主机名部分,如www.baidu.com中的www.baidu.com部分。 android:port 用于指定数据的端口部分,一般紧随在主机名之后,如www.rowyer:8080/mypath中的808… android:path 用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容,如www.rowyer:8080/mypath中的/my… android:mimeType 用于指定可以处理的数据类型,允许使用通配符的方式进行指定。 ———————————————— 兴建一个Activity,修改注册信息

//无视警告

//a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值