Android:使用背景图像缩放按钮

时间:2010-05-14 19:39:59

标签: android image text button scale

我可能只是愚蠢但我的谷歌搜索效果不佳。

我在代码中添加了一堆按钮,这些按钮都有动态文本。我为每个按钮设置了一个背景图像,因为默认的灰色按钮对我的应用程序不起作用。

这非常有效,当文本大小(或内容)发生变化时,按钮会自动增长以适应扩展文本。不起作用的是我希望按钮按比例缩放 - 即如果背景图像是圆形的,我希望它保持圆形而不是椭圆形随着按钮变大。

使用图像按钮,有一个属性“调整视图边界”就可以完成这个但我不能将文本放在图像按钮上。是否有类似常规按钮的东西?

还是我错了?

我也尝试在代码中设置按钮的宽度,但我似乎无法确定新的高度(button.getHeight()返回0)

1 个答案:

答案 0 :(得分:4)

好吧我找到了一种方法来做到这一点...... 我修改了补丁-9,使其可扩展区域在两个轴上都是最大值。

然后像这样使用DisplayMetrics:

        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        buttonView.setGravity(Gravity.CENTER);

        int buttonSize=(int) Math.floor(metrics.density*1.6*fontSize);
        buttonView.setWidth(buttonSize);
        buttonView.setHeight(buttonSize);

其中fontSize是DIP中我放在每个按钮上的字体大小。在这种情况下,因为我在每个按钮上只有一个字母,所以我不需要担心文本长度,但是显然可以调整它来处理这种情况。