如何从 Android 中的操作栏中删除分隔符?

How to remove divider from actionbar in Android?

我正在为操作栏集成自定义视图。但是,我无法删除操作栏的分隔线。任何建议将不胜感激。谢谢。

我像这样在清单中应用主题:

<application
        android:theme="@style/AppTheme"
        ...

里面themes.xml我有:

<style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:textColorPrimary">@color/mytheme_primary</item>
        <item name="android:textColorSecondary">@color/mytheme_secondary</item>
        <item name="android:textColorTertiary">@color/mytheme_tertiary</item>
        <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
    </style>

<style name="AppTheme" parent="AppBaseTheme">
            <item name="android:windowActionBarOverlay">true</item>
            <item name="android:actionBarDivider">@android:color/transparent</item>
            <item name="android:ratingBarStyle">@style/RatingBarAppTheme</item>
            <item name="android:windowBackground">@android:color/transparent</item>
            <item name="android:colorBackgroundCacheHint">@null</item>
            <item name="android:actionBarStyle">@style/MyActionBar</item>
        </style>

        <!-- ActionBar styles -->
        <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
            <item name="android:background">@drawable/bg_action_bar</item>
            <item name="android:actionBarDivider">@android:color/transparent</item>
        </style>

虽然我将操作栏分隔线设置为对两部分透明,但似乎它无论如何都没有生效:(

您应该将 actionbarDivider 添加到您的主 Theme:

<item name="android:actionBarDivider">@null</item> 

我之前也遇到过同样的问题。 将 windowContentOverlay 设置为 null 将使其没有分隔线。

在您的样式 xml 文件中,放入:

<item name="android:windowContentOverlay">@null</item>

成为

    <style name="AppTheme" parent="AppBaseTheme">
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:actionBarDivider">@android:color/transparent</item>
        <item name="android:ratingBarStyle">@style/RatingBarAppTheme</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

只需加入Activity

supportActionBar!!.elevation = 0F

示例:

class SettingsActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_settings)

        supportActionBar!!.elevation = 0F //add this line