
package com.example.myapplication2
import android.os.Bundle import com.google.android.material.snackbar.Snackbar import androidx.appcompat.appAppCompatActivity 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)就可以了 |