将帧或边框添加到ImageView和Drop-Shadow

时间:2012-05-29 08:25:45

标签: android android-layout

我正在尝试做的事情会更好地使用示例图像。正如你在下面看到的那样,我有一个灰色的背景,它的顶部是一个容器,里面有一些包含图像的填充物。容器也有轻微的阴影。

我想知道的是,如果在layout.xml中这样做非常费力吗?在普通的HTML文档中,这很简单。但由于这是针对移动应用程序以及许多屏幕分辨率等等,因此它有点困难。

有什么建议吗?

enter image description here

编辑:我最终决定使用9patch图像。 Everyting在创建过程中非常流畅但是当我在我的应用程序中实际使用它时,我会在图像的右侧和底部看到这些暗条纹。这些阴影似乎有效,它是一个非常浅的阴影......但是那些条纹?

enter image description here

4 个答案:

答案 0 :(得分:16)

您可以通过在drawable文件夹中写入xml文件(例如editBorder.xml)来为视图提供边框:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <stroke 
        android:width="5dp"
        android:color="#EBDDE2" />

    <padding
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="4dp" />

    <gradient
        android:centerColor="@color/white" 
        android:endColor="@color/white"
        android:startColor="@color/white" />

    <corners android:radius="8dp" />

</shape>

并提供此边框,在ImageView中使用语句android:background="@drawable/editBorder"

这应该可以解决您的问题。 :)

答案 1 :(得分:5)

ImageView有两个属性android:backgroundandroid:src

http://developer.android.com/reference/android/widget/ImageView.html

使用投影创建一个空白框(建议使用Photoshop)。

所以就这样做

<ImageView android:id="@+id/imageView"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:src="@drawable/image"
     android:background="@drawable/whiteFrame" 
     android:padding="10dp" >
</ImageView>

答案 2 :(得分:5)

这可以通过适当的填充和9个补丁图像来完成。看到这个link,它可以帮助你。

答案 3 :(得分:-1)

我找到了这个imageView。对你有好处

enter image description here