Android 按钮未更改图像以适合内部

Android Button Is Not Changing Image To Fit Inside

我正在以编程方式创建一个按钮。但是,无论我设置什么,按钮图标都会出现在框的边界之外。我希望图像适合按钮尺寸。更改我的比例类型没有效果(CENTER_CROP 看起来与 FIT_CENTER 相同)所以我的代码可能存在根本性错误。如果您能指出我做错了什么,我将不胜感激:

    int buttonDimension = 100;

    _cancelSelectPhotoButton = new ImageButton(this);
    _cancelSelectPhotoButton.setImageResource(R.drawable.deselecticon);
    _cancelSelectPhotoButton.setPadding(0, 0, 0, 0);
    _cancelSelectPhotoButton.setScaleType(ImageView.ScaleType.CENTER_CROP);//all scale types look the same
    _cancelSelectPhotoButton.setAdjustViewBounds(false);//true has no effect either
    _cancelSelectPhotoButton.setMinimumHeight(buttonDimension);
    _cancelSelectPhotoButton.setMaxHeight(buttonDimension);
    _cancelSelectPhotoButton.setMinimumWidth(buttonDimension);
    _cancelSelectPhotoButton.setMaxWidth(buttonDimension);
    _cancelSelectPhotoButton.setX(0);

我刚刚对其进行了测试,以下组合对我有用:

 _cancelSelectPhotoButton.setScaleType(ImageView.ScaleType.FIT_CENTER);
 _cancelSelectPhotoButton.setAdjustViewBounds(true);

这就是我得到的。我为 ImageButton 添加了背景颜色和填充以查看实际框。

注意:

在使用不同的方法进行测试后,我们发现如果您为 ImageButton 设置背景颜色,则图像会正确显示。 没有它,不知何故在 Nexus 5 上工作但在 Nexus 6 上不工作。

_cancelSelectPhotoButton.setBackgroundColor(Color.TRANSPARENT);