在Android中删除操作栏和主屏幕之间的线条或分隔线
如何删除操作栏和主屏幕之间的线条或分隔线? 如何在android中更改此分隔符的颜色?在Android中删除操作栏和主屏幕之间的线条或分隔线,android,android-actionbar,Android,Android Actionbar,如何删除操作栏和主屏幕之间的线条或分隔线? 如何在android中更改此分隔符的颜色? 提前谢谢。经过更多的努力,我可以找到我理想的主题 首先,我必须说Theme.Holo.Light在动作条的底部有一个阴影,若你们不想有那个阴影,你们必须使用Theme.Holo 更改样式后,必须为自己更改其他设置,如代码 <resources> <style name="AppTheme" parent="android:Theme.Holo"> <ite
提前谢谢。经过更多的努力,我可以找到我理想的主题
<resources>
<style name="AppTheme" parent="android:Theme.Holo">
<item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="android:background">#ff0000</item>
<item name="android:colorBackground">#ff0000</item>
</style>
<style name="AppTheme.ActionBar" parent="android:Widget.ActionBar">
<item name="android:background">#ff0000</item>
</style>
</resources>
@style/AppTheme.ActionBar
#ff0000
#ff0000
#ff0000
<resources>
<style name="AppTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
<item name="android:background">#ff0000</item>
<item name="android:colorBackground">#ff0000</item>
</style>
<style name="AppTheme.ActionBar" parent="android:Widget.ActionBar">
<item name="android:background">#ff0000</item>
</style>
</resources>
@style/AppTheme.ActionBar
#ff0000
#ff0000
#ff0000
只需将属性windowContentOverlay插入主题即可。这样太简单了
<style name="AppTheme" parent="android:Theme.Holo.Light">
<!-- Customize your theme here. -->
<item name="android:windowContentOverlay">@null</item>
</style>
@空的
如果使用AppCompat,则需要设置parent=“Theme.AppCompat”,而不是“Theme.AppCompat.Light”(同样代表ActionBar):)
例如:
@样式/MyActionBar
真的
@样式/MyActionBar
真的
@android:彩色/透明
@android:彩色/透明
在styles.xml文件中,查找AppTheme样式并将以下样式添加到其中
<item name="android:actionBarDivider">@android:color/transparent</item>
@android:color/transparent
像这样
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:fontFamily">@font/roboto</item>
<item name="android:actionBarDivider">@android:color/transparent</item>
</style>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@字体/机器人
@android:彩色/透明
它实际上是将活动窗口和操作栏之间的分隔符的背景设置为透明的。这些解决方案都不适合我。我最终将此代码添加到我的
main活动的onCreate()
事件中:
actionBar = getSupportActionBar();
actionBar.setElevation(0);
在Kotlin上,您可以使用supportActionBar?.elevation=0f
删除操作栏的阴影
将此代码添加到所需活动的onCreate()
函数中。例如:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Hide ActionBar shadow
supportActionBar?.elevation = 0f
}
如果此活动上没有操作栏,则?。
运算符控制空指针异常
注意:如果您没有使用AppCompat,请调用actionBar?.elevation=0f
。如果您使用的是AppBarLayout
,这些都没有帮助。我使用以下方法找到了解决方案:
AppBarLayout appBarLayout = findViewById(R.id.app_bar_layout);
appBarLayout.setOutlineProvider(null);
这对我很有用:
我刚刚在onCreate()方法中添加了以下代码行
可能重复我以前看到的那个问题,但我不能用这些答案删除分隔符,你能解释一下,分隔符与哪种风格的动作栏有关。当然,我解释说我不需要重叠动作栏。我只是删除了这一行,比如你的项目中有style-Theme.Holo.Light.NoActionBar。感谢android:Theme.Holo:)这只删除了阴影,而不是线条
AppBarLayout appBarLayout = findViewById(R.id.app_bar_layout);
appBarLayout.setOutlineProvider(null);
getSupportActionBar().setElevation(0);