Android 使用主题AppCompat灯光更新操作栏样式

Android 使用主题AppCompat灯光更新操作栏样式,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我正在尝试在样式文件中执行以下操作,但无法更改操作栏的字体和文本位置。我想在我的样式表中这样做 <resources> <!-- Base application theme. --> <!-- Theme.AppCompat.Light.NoActionBar, Theme.Holo.Light --> <style name="AppTheme" parent="Theme.AppCompat.Light">

我正在尝试在样式文件中执行以下操作,但无法更改操作栏的字体和文本位置。我想在我的样式表中这样做

<resources>
    <!-- Base application theme. -->
    <!-- Theme.AppCompat.Light.NoActionBar, Theme.Holo.Light -->
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here. -->
        <item name="android:windowBackground">@color/white</item>
        <item name="colorPrimary">@color/green</item>
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:actionBarStyle">@style/AppActionBarStyle</item>
    </style>

    <style name="AppActionBarStyle" parent="Widget.AppCompat.TextView.SpinnerItem">
        <item name="android:textSize">25sp</item>
        <item name="android:layout_gravity">center</item>
    </style>

</resources>

@颜色/白色
@颜色/绿色
@颜色/白色
@样式/AppActionBarStyle
25便士
居中

我认为您应该从Widget.AppCompat.ActionBar继承操作栏样式,并尝试覆盖以下项目

<style name="AppActionBarStyle" parent="Widget.AppCompat.ActionBar">
        <item name="titleTextStyle">@style/MyTextAppearance</item>
        <item name="android:gravity">center</item>
</style>
<style name="MyTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textSize">25sp</item>
        <item name="android:textStyle">bold</item>
</style>

@样式/我的文本外观
居中
25便士
大胆的

我尝试了所有的研究,最后得出结论,创建自定义操作栏更好

下面是两个非常简单的步骤(从不同形状的不同线程获得,并在这里编译)。我希望这对任何人都有帮助(您只需要在代码中复制和过去)

步骤1:在(app/res/layout/)处创建一个XML文件,将其命名为custom_action_bar.XML

步骤2:将以下代码粘贴到此文件中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/actionBar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@color/green">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/register"
        android:id="@+id/action_bar_text"
        android:textSize="20sp"
        android:textStyle="bold"
        android:layout_gravity="center"
        android:textColor="@color/white" />

</LinearLayout>

应用当前样式时会发生什么情况。我注意到你的背景和文本颜色都是白色的?文本颜色白色实际上是动作栏的颜色(绿色)。我的问题不同。。我想在中间显示操作栏文本,文本粗体和大小为25sp…感谢您的回复,但对我无效:((((
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.custom_action_bar);