Android工具栏阴影未显示子活动

时间:2015-11-04 10:28:46

标签: android android-activity

我无法在子活动中显示阴影效果,就像父活动一样。

在使用CustomView的父级活动中 在Child协调器布局中使用。

请帮我解决这个问题。

由于

3 个答案:

答案 0 :(得分:0)

在工具栏或appbar下方或要显示阴影的位置添加此视图。

<View
        android:id="@+id/shadow_layout"

        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:background="@drawable/toolbar_dropshadow" />

------- toolbar_dropshadow.xml ------

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <gradient
        android:startColor="@android:color/transparent"
        android:endColor="#88333333"
        android:angle="90"/>
</shape>

答案 1 :(得分:0)

如果您的定位Android 5.0及更高版本或前棒棒糖执行以下操作,请将android:elevation设置为Toolbar

<强> Toolbar.xml
  

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="@dimen/toolbar_height"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

    <View
        android:id="@+id/shadow"
        android:layout_width="match_parent"
        android:layout_height="4dp"
        android:background="@drawable/shadow" />

</LinearLayout>

<强> shadow.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="@color/no_color"
        android:endColor="@color/shadow_normal"
        android:angle="90" />
</shape>

<强> color.xml

<color name="shadow_normal">#55000000</color>
<color name="no_color">#00000000</color>

答案 2 :(得分:0)

你可以简单地使用提升属性android:elevation

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:elevation="8dp"
    android:minHeight="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
</android.support.v7.widget.Toolbar>

if(Build.VERSION.SDK_INT&lt; 21),在工具栏下方的framelayout中使用带阴影背景的视图

例如,如下所示

<include
    android:id="@+id/my_action_bar"
    layout="@layout/toolbar" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- activity content here.... -->

    <View
        android:id="@+id/view_toolbar_shadow"
        android:layout_width="match_parent"
        android:layout_height="5dp"
        android:background="@drawable/toolbar_shadow" />
</FrameLayout>

在活动代码中,如果sdk版本&gt; = 21

,则可以隐藏阴影视图
View mToolbarShadow = findViewById(R.id.view_toolbar_shadow);
        if (Build.VERSION.SDK_INT >= 21) {
            mToolbarShadow.setVisibility(View.GONE);
        }