actionbar设置标题居中
时间: 2023-07-01 22:17:32 浏览: 303
要在ActionBar中将标题居中,你需要自定义ActionBar的布局文件,并在其中设置标题居中。具体步骤如下:
1. 在res/menu文件夹下创建一个新的menu布局文件,例如menu_custom.xml:
```xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_title"
android:title="@string/app_name"
android:actionLayout="@layout/actionbar_title_layout"
android:showAsAction="always" />
</menu>
```
其中,`android:actionLayout`属性指定了ActionBar标题的布局文件,`android:showAsAction`属性指定了ActionBar中显示该菜单项的方式。
2. 在res/layout文件夹下创建一个新的布局文件actionbar_title_layout.xml,例如:
```xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/actionbar_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/white" />
```
其中,`android:gravity`属性设置了文本的对齐方式为居中,`android:textAppearance`属性设置了文本的大小,`android:textColor`属性设置了文本的颜色。
3. 在Activity中使用自定义布局文件,并设置标题:
```java
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true); // 显示返回按钮
actionBar.setDisplayShowTitleEnabled(false); // 隐藏默认标题
actionBar.setDisplayShowCustomEnabled(true); // 显示自定义布局
actionBar.setCustomView(R.layout.actionbar_title_layout); // 设置自定义布局
TextView actionBarTitle = actionBar.getCustomView().findViewById(R.id.actionbar_title);
actionBarTitle.setText("My ActionBar"); // 设置标题
```
这样,标题就会被居中显示。你可以根据需要修改自定义布局文件和设置标题的代码。
阅读全文