透明动作栏不完全透明。 (留下怪异的盒子)

时间:2016-09-17 05:29:39

标签: android android-actionbar transparency android-toolbar android-appbarlayout

我已尝试将我为应用程序定制的操作栏设置为透明。然而,它不是完全透明,而是留下一个奇怪的高度阴影:

http://puu.sh/rdYyb/04ce0147f6.jpg

栏的XML:

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbarlayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    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.support.design.widget.AppBarLayout>


<android.support.design.widget.FloatingActionButton
    android:id="@+id/OverviewFAB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/ic_add_alert" />

<RelativeLayout
    android:id="@+id/main_fragment_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

我主题的样式XML:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- 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.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"></style>

我如何以编程方式尝试删除活动中的高程和背景:

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appbarlayout);
    appBarLayout.setElevation(0);
    toolbar.setElevation(0);
    appBarLayout.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent));
    toolbar.setBackgroundColor(ContextCompat.getColor(this, android.R.color.transparent));

但尽管如此,框(显示在链接中)仍然存在......我不确定发生了什么?有没有人在我的代码中看到任何错误?

3 个答案:

答案 0 :(得分:1)

尝试放入应用栏内

app:elevation="0dp"

这在您的工具栏中

android:background="@android:color/transparent"

答案 1 :(得分:0)

我认为你需要使用&#34; android:alpha =&#34; 0.5&#34;或使用setAlpha()方法。

答案 2 :(得分:0)

我试过这个并且它对我起作用并将这四行添加到xml文件中的工具栏小部件中。

app:contentInsetEnd="0dp"
            app:contentInsetLeft="0dp"
            app:contentInsetRight="0dp"
            app:contentInsetStart="0dp"