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

10 android android-layout

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

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

有什么建议?

在此输入图像描述

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

在此输入图像描述

Shr*_*ant 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>
Run Code Online (Sandbox Code Playgroud)

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

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


Moh*_*ikh 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>
Run Code Online (Sandbox Code Playgroud)


orc*_*dra 5

这可以通过适当的填充和9补丁图像来完成.看到这个链接,可能会对你有帮助.