如何根据某些具体分辨率计算分辨率?

时间:2011-09-14 04:17:38

标签: android android-layout android-emulator android-widget android-ndk

在我的应用程序中,我有一个这样的按钮:

enter image description here

该按钮的分辨率为192x32。当我将这个按钮放入drawable-mdpi时,布局似乎很好。现在,对于多屏幕支持的其他屏幕分辨率我必须根据其他设备屏幕查看按钮尺寸以查看良好布局设计? 我的意思是drawable-ldpi和drawable-hdpi,我必须为这个按钮做出哪些分辨率?怎么做这样的计算,使这个按钮大小适合所有的屏幕尺寸? 请帮帮我。 感谢。

2 个答案:

答案 0 :(得分:1)

android developers website上有关于此主题的大量信息。特别是,列出了各种dpi级别以及它们对应的DPI范围。

此外,您可以将图像设为nine-patch,然后自动神奇地展开以适应按钮,而不是为不同的分辨率提供不同的图像。虽然如果你想让背景中的高亮显示成比例,那么让它在垂直方向上扩展可能有些困难。

答案 1 :(得分:1)

无需为多屏幕支持创建多个按钮。 而是创建一个按钮并在运行时设置宽度和高度。这是通过获取显示宽度和高度来实现的。使用波纹管代码来显示H& W值。

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

基于上述值,在运行时设置按钮宽度和高度。

示例:

Button bt=(Button)findViewById(R.id.button);
bt.setWidth(width);//screen width(fill_parent)
bt.setHeight(height/6);//1/6 of the screen height

上面的代码将按钮宽度设置为屏幕(显示)宽度尺寸和高度为屏幕的1/6。