[英]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.