2011-05-04 129 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