添加一个背景图像在XML Android中形成

你如何添加一个背景图像的形状? 我在下面尝试的代码,但没有成功:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> //here is where i need to set the image <solid android:color="@drawable/button_image"/> <corners android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" android:topRightRadius="5dp"/> </shape> 

使用以下layerlist

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/image_name_here" /> <item> <shape android:shape="rectangle" android:padding="10dp"> <corners android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" android:topRightRadius="5dp"/> </shape> </item> </layer-list> 

我用下面的一个圆形背景绘制图像。

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <solid android:color="@color/colorAccent"/> </shape> </item> <item android:drawable="@drawable/ic_select" android:bottom="20dp" android:left="20dp" android:right="20dp" android:top="20dp"/> </layer-list> 

这是它的样子

在这里输入图像描述

希望能帮助别人。

这是一个带有图标的圆形形状:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/ok_icon"/> <item> <shape android:shape="oval"> <solid android:color="@color/transparent"/> <stroke android:width="2dp" android:color="@color/button_grey"/> </shape> </item> </layer-list> 

我用下面的一个边框绘制图像。

首先用这个代码在可绘制文件夹中创build一个.xml文件:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval"> <solid android:color="@color/orange"/> </shape> </item> <item android:top="2dp" android:bottom="2dp" android:left="2dp" android:right="2dp"> <shape android:shape="oval"> <solid android:color="@color/white"/> </shape> </item> <item android:drawable="@drawable/messages" //here messages is my image name, please give here your image name. android:bottom="15dp" android:left="15dp" android:right="15dp" android:top="15dp"/> 

其次,在布局文件夹中创build一个视图.xml文件,并用这种方式调用上面的.xml文件

 <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/merchant_circle" /> // here merchant_circle will be your first .xml file name 

这是另一个最简单的方法来获取图像的自定义形状(图像视图)。 这可能对某人有帮助。 这只是一个单行代码。

首先你需要添加一个依赖项:

 dependencies { compile 'com.mafstech.libs:mafs-image-shape:1.0.4' } 

然后写一行代码就可以了:

 Shaper.shape(context, R.drawable.your_original_image_which_will_be_displayed, R.drawable.shaped_image_your_original_image_will_get_this_images_shape, imageView, height, weight);