package com.example.myapplication2
import android.os.Bundle import com.google.android.material.snackbar.Snackbar import androidx.appcompat.app.AppCompatActivity import androidx.navigation.findNavController import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.navigateUp import androidx.navigation.ui.setupActionBarWithNavController import android.view.Menu import android.view.MenuItem import com.example.myapplication2.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var appBarConfiguration: AppBarConfiguration //创建 2 个变量
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
setSupportActionBar(binding.toolbar)
val navController = findNavController(R.id.nav_host_fragment_content_main)
appBarConfiguration = AppBarConfiguration(navController.graph)
setupActionBarWithNavController(navController, appBarConfiguration)
binding.fab.setOnClickListener { view ->
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show()
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.action_settings -> true
else -> super.onOptionsItemSelected(item)
}
}
override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host_fragment_content_main)
return navController.navigateUp(appBarConfiguration)
|| super.onSupportNavigateUp()
}
}
我是个萌新,刚学 Kotlin,有没有推荐群一起学习?
按照以上代码,如果我有个按钮 id="create_button" ,按下载入 test_window.xml 窗口. test_window.xml 里面有什么讲究吗?
1
AoEiuV020CN 2022-01-12 15:34:50 +08:00
这是安卓问题,你该学的是安卓,随便找个教程跟着走走,你所谓窗口在安卓可以是 activity fragment dialog ,可以先学到这里,再考虑这问题,
|
2
sucvia OP @AoEiuV020CN 好的 我去了解一下 看过很多 kotlin 的教程,基本上都是讲 kotlin 语法,没有讲交互的
|
3
XXWHCA 2022-02-17 17:28:37 +08:00
你用的是 Jetpack navigation 导航,是 google 推荐的单 Activity 应用方案,如果是刚入门觉得你还是好好看官方文档 https://developer.android.google.cn/guide/navigation
实际上 navigation 是对 Fragment 的封装,让 Fragment 更易于维护和使用。 如果你需要导航到其他页面需要先将目标 fragment 注册到导航图,然后 navController.navigate(id)就可以了 |