android自定义窗口标题示例分享


在Android开发中,自定义窗口标题(ActionBar或Toolbar)是一个常见的需求,用以增强应用的UI一致性和用户体验。以下是一个使用Toolbar来自定义窗口标题的基本示例。请注意,从Android 5.0(API 级别 21)开始,推荐使用Toolbar来替代ActionBar。

### 1. 在布局文件中添加Toolbar

首先,在你的Activity的布局XML文件中添加一个Toolbar控件。例如,在`activity_main.xml`中添加:


<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    app:titleTextColor="@android:color/white"
    app:layout_scrollFlags="scroll|enterAlways"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

确保你的应用已经包含了`androidx.appcompat.widget.Toolbar`的依赖。

### 2. 在Activity中设置Toolbar

然后,在你的Activity的`onCreate`方法中,将Toolbar设置为ActionBar的替代物。


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar toolbar = findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    // 设置标题
    getSupportActionBar().setTitle("自定义标题");

    // 如果你想通过Toolbar的setTitle直接设置(而不是通过ActionBar),
    // 请确保在setSupportActionBar之后调用,因为这会替换原来的ActionBar
    // toolbar.setTitle("自定义标题");

    // 如果需要,可以添加菜单项
    // getMenuInflater().inflate(R.menu.your_menu, menu);
}

### 3. 在styles.xml中调整主题

确保你的应用主题继承自`Theme.AppCompat`系列,并且没有启用默认的ActionBar。在`res/values/styles.xml`中,你可能需要这样设置:


<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <!-- 如果你不想显示默认的ActionBar,可以设置为NoActionBar -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

或者,如果你想要一个没有ActionBar的全屏主题,可以选择`Theme.AppCompat.Light.NoActionBar`作为父主题。

### 4. 运行你的应用

现在,当你运行你的应用时,你应该能看到自定义的Toolbar作为窗口标题。你可以通过Toolbar的API来自定义更多样式和行为,比如设置导航图标、菜单项等。

以上就是如何在Android中使用Toolbar来自定义窗口标题的一个基本示例。希望对你有所帮助!