如何删除Android ActionBar阴影 [英] How can I remove android actionbar Shadow
问题描述
我正在使用Android Studio进行编程.目标SDK为23,最低SDK为15
I'm using Android Studio for programming. Target SDK is 23 and Minimum SDK is 15
我正在尝试删除操作栏和滑动选项卡布局之间的阴影.但是我不能.
I'm trying to remove the shadow between my actionbar and my sliding tab layout. But I'm not able to.
注意:阴影仅在Android 5及更高版本中可见.
Note : The shadow is only visible in Android 5 and upper.
我用过<item name="elevation">0dp</item>
和getSupportActionBar().setElevation(0);
但这仍然行不通...
I have used <item name="elevation">0dp</item>
and getSupportActionBar().setElevation(0);
But still it doesn't work...
我的Style.xml
<resources>
<!-- Base application theme. -->
<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>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">
<item name="elevation">0dp</item>
</style>
我的风格V21
<resources>>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
我的MainActivity.java onCreateCode:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setElevation(0);
....
推荐答案
您缺少样式中的前缀.
<item name="android:elevation">0dp</item>
也就是说,您也可以直接在AppBarLayout
That said you could also set it directly on your AppBarLayout
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:elevation="0dp"
android:theme="@style/AppTheme.AppBarOverlay">
或者我想做的就是将SlidingTabLayout
移到AppBarLayout
以便阴影出现在其下方:
Or what I like to do is move the SlidingTabLayout
into the AppBarLayout
so the shadow appears below it:
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay"
/>
<com.ccswe.SmokingLog.views.widgets.SlidingTabLayout
android:id="@+id/sliding_tabs"
android:layout_width="wrap_content"
android:layout_height="@dimen/tab_layout_height"
/>
</android.support.design.widget.AppBarLayout>
这篇关于如何删除Android ActionBar阴影的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!