如何让Android Studio新建Activity的ActionBar上显示返回按钮

步骤1:确认当前Activity使用带ActionBar的主题
打开res/values/themes.xml(或styles.xml),确认当前应用主题继承自带ActionBar的主题,例如:
<style name="Theme.YourAppName" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- 其他主题配置 --> </style>
如果使用的是NoActionBar系列主题,需要在布局中添加Toolbar控件,并在onCreate中调用setSupportActionBar(yourToolbar)绑定Toolbar。
步骤2:开启ActionBar返回按钮显示
在目标Activity的onCreate方法中,setContentView之后添加如下代码:
Java 写法
if (getSupportActionBar() != null) { // 显示返回按钮 getSupportActionBar().setDisplayHomeAsUpEnabled(true); // 可选:允许返回按钮响应点击 getSupportActionBar().setDisplayShowHomeEnabled(true); }
Kotlin 写法
supportActionBar?.apply { setDisplayHomeAsUpEnabled(true) setDisplayShowHomeEnabled(true) }
步骤3:处理返回按钮点击逻辑
方式1:手动配置点击事件
重写Activity的onOptionsItemSelected方法:
Java 写法
@Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == android.R.id.home) { // 点击返回按钮后关闭当前页面,可替换为自定义逻辑 finish(); return true; } return super.onOptionsItemSelected(item); }
Kotlin 写法
override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { finish() return true } return super.onOptionsItemSelected(item) }
方式2:配置父Activity自动跳转
在AndroidManifest.xml中给当前Activity配置parentActivityName属性,系统会自动处理返回逻辑,无需重写点击事件:
<activity android:name=".YourTargetActivity" android:parentActivityName=".MainActivity"> <!-- 兼容Android 4.0及以下版本的配置 --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity>
把上述代码中的.YourTargetActivity替换为你当前的Activity类名,.MainActivity替换为点击返回后要跳转的父Activity类名即可。
内容的提问来源于stack exchange,提问作者Sina Moradi
相关产品推荐
相关产品推荐

