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);