Android 圆形图像按钮全宽背景图像

Android 圆形图像按钮全宽背景图像,android,image,imagebutton,Android,Image,Imagebutton,我正在尝试为我的ImageButton设置背景图像。ImageButton应该已满。目前看来: ImageButton <ImageButton android:id="@+id/imgBtn_OpenUserPicture" android:layout_width="96dp" android:layout_height="96dp"

我正在尝试为我的
ImageButton
设置背景图像。
ImageButton
应该已满。目前看来:

ImageButton

<ImageButton
                    android:id="@+id/imgBtn_OpenUserPicture"
                    android:layout_width="96dp"
                    android:layout_height="96dp"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:src="@drawable/ic_camera"
                    android:background="@drawable/round_imagebutton"
                    android:scaleType="centerCrop"
                    android:tint="@android:color/transparent"
                    android:padding="20dp"/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <solid android:color="@android:color/transparent"/>
        <corners android:radius="90dp" />
        <stroke
            android:width="2dp"
            android:color="#FFF"
            />
    </shape>
</item>
</selector>

一个问题可能是20dp的
填充。移除后,问题仍然存在。我想我必须将图像设置为形状的背景。但是我如何将相机拍摄的图像动态设置为背景形状呢

使用比例类型作为拟合中心

android:scaleType="fitCenter"
有两种方法

1#使用圆角图像而不是矩形来设置src

2#使用此链接而不是ImageButton


您可以使用Glide library使图像变圆删除
舍入
标记,这与数字舍入有关(3.1415926535->3.14)。同时将scaleType添加为fit Center。我将scaleType从
centerCrop
更改为
fitCenter
并检查fitXY。我认为使用scaleType可以解决您的问题。是否可以设置内部填充?不可能,因为您要在圆中设置矩形图像。使用圆形图像而不是矩形,它可以解决您的问题。