2011-05-04 128 views
0

我已经遍游了整个互联网寻找一种方式来做一些我认为是非常基本的事情。底线是:我有一个我设计的Android UI。它由沿着屏幕中间放置的按钮组成。这是一种菜单屏幕。这些按钮需要位于同一位置,但相对于屏幕的物理尺寸,应该只是增大或缩小。基本上,如果我在1px(或dip; dip是我目前在我的应用程序中使用的)X 1px屏幕上有一个按钮,那么如果我将屏幕大小加倍,则该按钮应该自动格式化为2px X 2px。我已经完成了我的申请数学。我拥有的按钮大约在屏幕上225/854(这个数字大约是顶部的26.44%)。我想要做的就是让这个按钮的数量减少。说我把屏幕尺寸缩小到500,比例应该保持不变。在android中计算屏幕尺寸

实施例的数学工作:

(225浸/ 854像素)×100 = 26.44%

所以如果我减少屏幕尺寸至500像素,浸渍应该如下。

(225dip/854px)* 500像素= 131.733021077283372浸

这是去了解我的缩放按钮的最好方法?如果是这样,我该如何告诉我的应用程序计算按钮应该放置的正确的浸入次数?

如果您仍然感到困惑(对不起!),这里是查看这项工作的关键。

225dip =按钮离开屏幕顶端多远。 854px =屏幕的物理尺寸(以像素为单位) 131.733021077283372浸=浸新号码,如果屏幕被减少到500像素的物理尺寸

回答

0

可以让Android的做缩放为你。尽管在每个设备上可能都不是完美的像素,但您的应用程序在正确的比例下在许多设备上看起来都一样。

Supporting multiple screenshttp://d.android.com介绍了此...

+0

@botteapp,我读过这篇文章。我的按钮在我开发的Droid 2上工作,但是当我在不同的手机或模拟器上尝试它时,这些按钮会移动到不同的位置。有什么我做错了吗? – PTC 2011-05-05 00:59:38

+0

我假设你是指不同的dpi和屏幕尺寸?大小将取决于dip单位,并将根据设备进行缩放。位置取决于您使用的布局。如果你使用“fill_parent”之类的东西,宽度将明显影响事物的大小和布局。 – botteaap 2011-05-05 09:14:22

+0

我正在使用相对布局。是的,我正在谈论不同尺寸的设备 – PTC 2011-05-05 19:17:16

0

我有点新到Android,虽然,在游戏我建立我发现允许android确定屏幕的dpi(每英寸点数)并相应地选择我的图像是最容易的。

例如,我的游戏res文件夹具有列为可绘制,drawable-hdpi等文件夹。这些文件夹在这里是为了将相应的图像放入屏幕类型中。

在android清单中,您可以列出您支持的屏幕dpi,并且这些文件夹将被正确使用。

希望这会有所帮助!

编辑:如果您在使用浸(或DP)和SP单位(字体)设计的界面,我肯定会看看这个文档页面

http://developer.android.com/guide/practices/screens_support.html

1

您可以使用窗口管理器来获取屏幕尺寸。在你的活动中:

getWindow().getWindowManager().getDefaultDisplay().getWidth(); 

或getHeight()在你的情况。一旦你有了,就做好你的数学,然后:

ViewGroup.LayoutParams buttonLayout = yourButton.getLayoutParams(); 

buttonLayout.height = 42; // Set your height 

buttonLayout.y = 42; //Set distance from top of the screen 

等等。一旦完成:

yourButton.setLayoutParams(buttonLayout); 

让我知道这是否工作。

+0

谢谢@Udayan Banerji!如果这对我有用,我一定会告诉你。只是一个问题。 yourButton是否正在调用我在活动中分配按钮的名称?我正在使用'Button button1 =(Button)findViewById(R.id.button01);'作为我的按钮。 – PTC 2011-05-05 01:00:49