[英]How to set background in circular imageView
我有一个圆形的ImageView,如下图所示,它引用了一个可绘制的矢量,我想用另一个View填充圆的内部,而在圆的外部没有该矩形,这有可能吗?
<FrameLayout
android:layout_gravity="center_horizontal"
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@android:color/black"
>
<com.myapp.MySpecialBackground
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/icon"
android:tint="@color/blue"/>
</FrameLayout>
您可以使用ShapeDrawable
作为背景资源。 将可绘制资源文件添加到项目中并设置“填充”,以使圆形不会显示在蓝色圆圈之外:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<padding
android:left="30dp"
android:top="30dp"
android:right="30dp"
android:bottom="30dp" />
<size
android:width="150dp"
android:height="150dp" />
<solid android:color="#ff0000"/>
</shape>
我使用了30dp,但很难从屏幕截图中看出来,因此很可能您必须进行实验。 请记住,如果ImageView
是正方形并且所有填充值都相等,则会得到一个圆圈。
(对于较旧的android版本: size
标签是相对较新的,在较早的版本中,width和height属性已包含在shape
标签中)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.