有三种简单的方法可以从你的Android应用程序中移除标题栏/动作栏。
- 在
res/styles.xml文件内设置<style>标签parent属性值 - 使用
getSupportActionBar().hide()方法从活动class隐藏动作栏
让我们先来学习如何改变styles.xml 文件
从主主题文件中删除安卓标题栏
要从你的安卓应用程序中移除标题栏/动作栏,你可以将应用程序中的<style> 标签设置为NoActionBar 。
当你使用Android Studio创建一个新的Android应用程序时,你的应用程序的<style> 标签通常在Project -> app -> src -> main -> res -> values -> styles.xml 或themes.xml ,这取决于你的Android Studio版本。
XML文件的内容看起来与此类似:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.NoBar"
parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
你只需要在上面代码的第4行将动作栏从DarkActionBar 改为NoActionBar :
<style name="Theme.NoBar"
parent="Theme.MaterialComponents.DayNight.NoActionBar">
此外,你也可以将values-night 文件夹放在res 文件夹内,如下图所示:

深色主题的安卓值-夜的文件夹
values-night 文件夹包含另一个theme.xml ,当用户使用黑暗主题时,你的安卓应用将使用这个文件夹。
你可能还想把这个theme.xml 中的<style> 标签的parent 属性设置为NoActionBar ,以使你的应用程序一致。
将<style> 标签设置为使用NoActionBar 将从你的应用程序内的所有活动中移除标题栏。
从特定的活动中移除Android标题栏
当你想移除某个特定活动的标题栏时,你需要从活动class 文件中隐藏标题栏。
例如,下面是你如何从你的MainActivity 类中删除标题栏:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
}
}
注意,只有当你的class 扩展到AppCompatActivity 时,getSupportActionBar() 才可用。如果你正在扩展Activity 类,你需要调用getActionBar() 方法来代替:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().hide();
setContentView(R.layout.activity_main);
}
}
如果你使用的是Kotlin,那么就按如下方法设置调用supportActionBar 或actionBar :
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportActionBar?.hide()
setContentView(R.layout.activity_main)
}
}
这就是你如何从你的Android应用程序中移除标题栏的方法 😉