2014-10-31 26 views
1

我只是想通过的ImageView绘制使用setElevation它具有独特的形式下拉阴影。 据我了解,我只是要设置视图的轮廓,所以如何从绘制的轮廓? 我试着这样做的话,但它不会给任何影子:如何从BitmapDrawable拿到大纲,或者至少是有可能吗?

Outline outline = new Outline(); 
image.getDrawable().getOutline(outline); 
image.setOutlineProvider(new ViewOutlineProvider() { 
    @Override 
    public void getOutline(View view, Outline outline) { 
     outline.set(outline); 
    } 
}); 

和xml:

<ImageView 
    android:id="@+id/image" 
    android:elevation="8dp" 
    android:layout_width="48dp" 
    android:layout_height="match_parent" 
    android:adjustViewBounds="false" 
    android:hapticFeedbackEnabled="true" 
    android:scaleType="centerInside" 
    android:src="@drawable/ic_drawable" /> 
+0

你可能想看看这个教程:http://www.coderzheaven.com/2012/01/08/create-image-reflection-android/ - 这是一个反映,但机智小的努力,你可以让黑色的,它变成了一层阴影。 – 2014-10-31 12:46:44

回答

0

至于创建阴影而言,你可以创建一个9补丁图像为阴影,将其设置为图像视图的背景,并将其作为图像视图的实际可绘制对象使用 android:src
然后,只需向不同的边提供填充,以便为该量提供可用作阴影的背景。

相关问题