答案 0 :(得分:11)
伙计我知道我迟到了,但我很难找到一个令我满意的问题的答案所以我只想分享我的解决方案。拳头,创建一个可绘制的navbar_shadow.xml并将其与其余的drawables放在一起。它只是一个透明渐变的矩形。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#111"
android:endColor="#00000000">
</gradient>
<size
android:height="@dimen/activity_vertical_margin"
android:width="5dp">
</size>
</shape>
然后,无论您在何处实例化抽屉,请使用DrawerLayout变量将其附加到抽屉。
mDrawerLayout.setDrawerShadow(R.drawable.navbar_shadow, Gravity.LEFT);
的Bam。无需逐行绘制或包含任何额外资源。您可以使用自己的startColor来匹配抽屉颜色,但endColor应保持#00000000,因为它是透明的黑色。
答案 1 :(得分:1)
我知道这篇文章已经很老了,但我找不到解决方案,所以如果我把它发布在这里,我认为它可能对某人有帮助。
我想在这个简单的ListView的右侧添加淡化为黑色。
<ListView
android:id="@+id/sideMenuList"
android:layout_width="300dp"
android:layout_height="match_parent"/>
使用渐变using GIMP创建了一个PNG文件。将其添加到/ res / drawable。我被命名为fade_from_right.png
使用RelativeLayout包围ListView。为RelativeLayout提供ListView所需的背景颜色。
在ListView右侧添加另一个视图。将新视图背景设置为'fade_from_right.png'
多数民众赞成。
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="300dp"
android:background="@color/solarized_base02">
<ListView
android:id="@+id/sideMenuList"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<View
android:layout_alignRight="@id/sideMenuList"
android:layout_width="5dp"
android:layout_height="match_parent"
android:background="@drawable/fade_from_right"/>
</RelativeLayout>
答案 2 :(得分:0)
有什么需要用listview添加另一个视图,我认为它不会是完美的..你可以尝试这样吗?
sm = getSlidingMenu();
sm.setShadowDrawable(R.drawable.shadowbar);
因为我们可能会设置一些后视宽度和偏移量。我认为这个选项会很好看。