繁体   English   中英

如何在圆形imageView中设置背景

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM