当前位置: 首页 > 知识库问答 >
问题:

从按钮边框溢出的Android可绘制

丁曦哲
2023-03-14

我使用以下代码将图像缩放到150dpx150dp并放置在150dpx150dp按钮中,但图像在所有维度上都溢出了按钮:

    float densityScale = getResources().getDisplayMetrics().density;
    float scaledImageWidth = 150 * densityScale;

    float scaledImageHeight =  150 * densityScale;
    Drawable image = getResources().getDrawable(R.drawable.user_photo);
    Bitmap bitmap = ((BitmapDrawable)image).getBitmap();
    Drawable scaledImage = new BitmapDrawable(Bitmap.createScaledBitmap(bitmap, (int)scaledImageWidth, (int)scaledImageHeight, true));
    scaledImage.setBounds(0, 0, (int)scaledImageWidth, (int)scaledImageHeight);
    ((Button)findViewById(R.id.button)).setCompoundDrawables(null, scaledImage, null, null);
    ((Button)findViewById(R.id.button)).setPadding(0,0,0,0);

按钮和图像大小相同。为什么会发生这种溢出,如何修复?

(我知道我可以使用ImageButton,但我想使用button drawable,因为有些情况下我需要添加文本等。)

共有1个答案

丁业
2023-03-14

你需要一个小一点的抽屉。按钮已经有一个带有特定填充的背景

 类似资料:
  • 是否可以更改操作栏上溢出按钮(3个垂直点)的颜色?如果是,我们如何做到这一点?我没有找到溢出按钮的任何样式。 谢啦

  • 本文向大家介绍Android实现给TableLayou绘制边框的方法,包括了Android实现给TableLayou绘制边框的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现给TableLayou绘制边框的方法。分享给大家供大家参考,具体如下: 效果如下: 思路:使用share作为背景显示边框 步骤: 1.在res/drawable文件夹下建立table_frame_

  • 如何将转换为带有圆边的按钮?我使用获得了圆角边框形状,但不知怎么需要给边框着色。

  • 我知道以前有人问过这样的问题: 类似的问题 但我的问题是当我这样做的时候: 它显示参数没有setMargins。谁能帮忙?

  • 我可以创建一个没有消极或积极按钮的对话框。这在特定行动后会摧毁它自己吗?

  • 如何在android中更改单选按钮的边框颜色? 我想更改android单选按钮的圆圈颜色。 提前感谢。任何帮助都是非常感谢的。 我尝试了不同的解决方案,并担心是否还有其他可绘制的图像