Android 按钮图标背景尺寸

Android 按钮图标背景尺寸,android,button,background,icons,size,Android,Button,Background,Icons,Size,我使用按钮供用户选择,大小为50平方度。如果我使用一个按钮,上面有文字,我会得到一个圆形的正方形,按下时会有一个“闪光”来确认,一切正常。但是文本并没有真正描述按钮的功能,我想使用一个图像。我曾尝试将24x24 png作为背景,但模拟器上的分辨率非常糟糕,像素化程度极高,分辨率与“普通”按钮(仅文本按钮)的圆角完全不同(尝试将背景图像的圆角弄圆会使其看起来像一个锯齿形图形)。解决这个问题的最佳方法是什么?我应该使用一个250像素见方的bmp,让android压缩它,还是有更好的方法在屏幕上获得令

我使用按钮供用户选择,大小为50平方度。如果我使用一个按钮,上面有文字,我会得到一个圆形的正方形,按下时会有一个“闪光”来确认,一切正常。但是文本并没有真正描述按钮的功能,我想使用一个图像。我曾尝试将24x24 png作为背景,但模拟器上的分辨率非常糟糕,像素化程度极高,分辨率与“普通”按钮(仅文本按钮)的圆角完全不同(尝试将背景图像的圆角弄圆会使其看起来像一个锯齿形图形)。解决这个问题的最佳方法是什么?我应该使用一个250像素见方的bmp,让android压缩它,还是有更好的方法在屏幕上获得令人满意的分辨率bmp?

android会根据屏幕分辨率缩放可绘制图像。因此,在低分辨率屏幕上,一个相当小的、以倾斜角度定义的可绘制屏幕可能看起来不错,但在高分辨率屏幕上却非常难看。不过,您可以根据屏幕分辨率告诉Android要使用哪些Drawable

在资源文件夹中设置如下文件夹结构:

  • 可牵引
  • 可拉伸低密度聚乙烯
  • 可拉伸mdpi
  • 可拉伸hdpi

这样,您就可以为应用程序创建特定于分辨率的图形。对于跨分辨率图形(XML定义的可绘制图形等),保留默认的“可绘制”文件夹。希望这在更一般的意义上有所帮助。

您应该阅读《Android开发者指南》。更具体地说,该部分:


我假设您想要设置自动增长/收缩的按钮背景(分辨率无关图形),如果是这种情况,那么Android已经有了一个工具:工具

因此,创建一个40*40或50*50 9面片背景图像,然后将其设置在按钮内

有关绘制9面片工具的更多信息,请单击上面的链接。 及 以下是迄今为止我发现的最好的例子:

9面片图形示例(取自上述示例链接):


我读过这篇文章,但没有看到(或错过了?)任何与50 dps相关的像素图标。一般来说,将mdpi大小乘以1.5即可得到hdpi大小。例如,应该为hdpi提供一个75px大小的50px按钮mdpi,以避免看起来像像素。你还需要学习如何使用另一个答案中建议的9-patch图像。谢谢,我会尝试一下,希望一个圆形图像最终会显示得很好。作为记录,我解决了这个问题,使图标略大于50dip,所以android将它们压缩了一点。我怀疑,对于具有倾斜维度的对象,图像应该>=对象大小,否则android将对其进行扩展,而这种扩展可能会产生“像素化”。