Android 自带标题 居中

在Android开发中,标题通常是页面的重要组成部分之一。Android提供了多种方法来设置标题的样式和位置。本文将介绍如何通过Android自带的功能来实现标题居中显示,并提供相应的代码示例。

1. 使用Toolbar设置居中标题

Android提供了Toolbar控件,可以方便地实现标题的居中显示。Toolbar是一种高度可定制的视图,可用于替代ActionBar。

首先,在XML布局文件中添加Toolbar控件:

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

然后在Activity中使用以下代码设置Toolbar为ActionBar,并设置标题居中显示:

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

ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowTitleEnabled(false); // 隐藏默认的标题
}

TextView titleTextView = toolbar.findViewById(R.id.toolbar_title);
titleTextView.setText("居中标题");

代码解释:

  • setDisplayHomeAsUpEnabled(true)用于显示返回按钮。
  • setDisplayShowTitleEnabled(false)用于隐藏默认的标题。
  • toolbar.findViewById(R.id.toolbar_title)用于获取Toolbar中自定义的标题TextView。
  • titleTextView.setText("居中标题")设置自定义的标题。

2. 使用自定义布局实现居中标题

除了使用Toolbar,我们还可以使用自定义布局来实现标题的居中显示。

首先,在XML布局文件中添加一个LinearLayout,将标题TextView放在其中,设置居中对齐:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center">

    <TextView
        android:id="@+id/title_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="居中标题"
        android:textSize="24sp" />

</LinearLayout>

然后在Activity中,使用以下代码设置自定义布局作为ActionBar,并设置标题居中显示:

ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    actionBar.setCustomView(R.layout.custom_action_bar);
    actionBar.setDisplayHomeAsUpEnabled(true);
}

TextView titleTextView = actionBar.getCustomView().findViewById(R.id.title_textview);
titleTextView.setText("居中标题");

代码解释:

  • setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM)用于显示自定义布局。
  • setCustomView(R.layout.custom_action_bar)用于设置自定义布局的资源文件。
  • actionBar.getCustomView().findViewById(R.id.title_textview)用于获取自定义布局中的标题TextView。
  • titleTextView.setText("居中标题")设置自定义的标题。

总结

本文介绍了两种方法来实现Android中标题的居中显示。一种是使用Toolbar控件,通过设置ActionBar和自定义标题来实现。另一种是使用自定义布局,将标题TextView放在LinearLayout中并设置居中对齐。根据具体需求选择合适的方法来实现标题的居中显示。

使用Toolbar的方法更加简洁,且具有更高的可定制性。同时,Toolbar还提供了其他丰富的功能,如菜单、导航等,可以进一步增强应用的用户体验。

希望本文对您理解Android中标题居中的实现有所帮助!

journey
    title Android 自带标题居中
    section 学习
    Android 自带标题居中
    end

    section 实践
    使用Toolbar设置居中标题
    使用自定义布局实现居中标题
    end

    section 总结
    总结
    end
erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE-ITEM : contains
    CUSTOMER }|..|{ DELIVERY-ADDRESS : uses