【问题标题】:Android: scaling a button with a background imageAndroid:使用背景图像缩放按钮
【发布时间】:2011-02-19 16:37:50
【问题描述】:

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

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

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

使用图像按钮,有一个属性“调整视图边界”可以做到这一点,但我不能在图像按钮上放置文本。是否有与常规按钮等效的功能?

还是我做错了?

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

【问题讨论】:

    标签: android image text button scale


    【解决方案1】:

    好的,我找到了一种方法... 我修改了patch-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 中字体的大小。在这种情况下,由于每个按钮上只有一个字母,我不需要担心文本长度,但显然也可以调整它来处理这种情况。

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 2011-12-29
      • 1970-01-01
      • 2013-11-28
      • 2011-10-14
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多