Android:以编程方式在ImageButton中设置图像的填充

我有一个ImageButton问题.我的图像在ImageButton中的位置不好.

有没有办法以编程方式解决该问题?

    <ImageButton
        android:id="@+id/nouvelle_annonce_choose_image"
        style="?android:attr/borderlessButtonStyle"
        android:layout_width="170dp"
        android:layout_height="170dp"
        android:scaleType="center"
        android:layout_gravity="center"
        android:layout_marginTop="15dp"
        android:background="@drawable/rounded_button"
        android:gravity="center_vertical|center_horizontal"
        android:src="@drawable/camera"
        android:text="hello"
        android:textColor="@color/blanc" />

rounded_button.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/blanc"/>
    <stroke android:width="3sp" android:color="@color/blue_dark_normal" />
</shape>

解决方法:

您已经开始使用android:layout_marginTop做到这一点.要么添加底部边距,要么仅添加layout_margin,您就可以根据需要调整图像.

实际上,这是由于android:layout_marginTop导致图像偏心.它在图像的顶部放置了较大的空白,而在底部没有进行补偿.

如果边距不起作用,请尝试使用填充.填充会影响事物在图像中的对齐方式.填充只是android:padding或android:paddingBottom属性.

上一篇:即使我为每个可绘制文件夹调整了位图的大小,为什么我的Android可绘制对象仍然存在问题?


下一篇:java-Android获取ImageButton的背景资源