繁体   English   中英

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

[英]Android: scaling a button with a background image

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

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

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

使用图像按钮,有一个属性“调整视图边界”,它正是这样做但我不能将文本放在图像按钮上。 有没有相当于常规按钮的东西?

或者我错了吗?

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

好吧,我发现了一种方法...我修改了补丁-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中我放在每个按钮上的字体大小。 在这种情况下,因为我每个按钮上只有一个字母,所以我不需要担心文本长度,但是显然可以调整它来处理这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM