如何删除Android ActionBar阴影 [英] How can I remove android actionbar Shadow

查看:176
本文介绍了如何删除Android ActionBar阴影的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆