如何在棒棒糖前设备中的自定义操作栏下添加阴影?

时间:2016-02-04 08:12:27

标签: android xml android-actionbar shadow

我在layout_action_bar.xml中定义了自定义操作栏(请参阅下文)。在每个片段中,如果我想使用该操作栏,我将在各自的xml布局文件中将其用作自定义小部件。

我尝试了以下方法在操作栏下添加阴影:

  1. 使用android:elevation(参见下文),但它不适用于棒棒糖前设备。
  2. 导航栏后使用自定义视图作为阴影(参见下文),但插入的阴影将中断操作栏下方的内容显示。我希望阴影覆盖内容。
  3. stackoverflow中提到的方法,例如使用CardView小部件来创建阴影效果,但我不希望我的自定义操作栏成为卡片视图。
  4. layout_action_bar.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:elevation="10dp">
    
        <RelativeLayout
            android:id="@+id/actionbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    
            ...ImageView and TextView for action bar...
    
        </RelativeLayout>
    
        <View
            android:layout_below="@id/actionbar"
            style="@style/shadowStyle"/>
    
    </RelativeLayout>
    

    关于如何在片段的布局xml文件中使用自定义操作栏的示例:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <com.test.views.CustomActionBarView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    
        ...fragment's content here...
    
    </LinearLayout>
    

0 个答案:

没有答案