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

时间:2014-05-28 12:41:43

标签: android android-layout imagebutton

我遇到了ImageButton的问题。我的图像位置不适合ImageButton。

有没有办法以编程方式修复它?

enter image description here

    <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>

3 个答案:

答案 0 :(得分:3)

您已使用android:layout_marginTop开始这样做了。要么添加下边距,要么只添加我们layout_margin,您应该可以根据需要调整图像。

事实上,由于android:layout_marginTop您的图片偏离了中心。它在图像的顶部放置了很大的余量,而没有在底部补偿它。

如果保证金不起作用,那么尝试使用填充。填充会影响图像中对齐的方式。填充只是android:paddingandroid:paddingBottom属性。

答案 1 :(得分:0)

在ImageButton xml中添加它:

android:scaleType="center"

答案 2 :(得分:0)

在ImageButton xml中添加此行

android:scaleType="fitCenter"