2013-09-30 86 views
2

所以我有一個基於Android的基於窗體的應用程序,它完美地填充了一個7英寸的屏幕,只有肖像,並且有50多個窗體,而不必重新設計每個窗體(或整個應用程序)以適應不同的分辨率,這種情況下的解決方案就是縮小表格以填充屏幕,10英寸的平板電腦看起來有點距離(但我可以添加一些邊距),在手機上最好有一支觸控筆和良好的視力!可以通過Android佈局縮放來填充屏幕嗎?

與其爭論這些是否是好的選擇,我的問題是:可以這樣做嗎?在Windows CE上,窗體通過「對話框單位」以文本大小縮放,這很好地工作。 Android沒有類似的東西,除非使用'sp'單元有棘手的方法。無論如何,在不同的分辨率下獲得一個很好地填充屏幕的表單看起來像拔毛的領域,除非我錯過了一些東西。

在回答評論時,它是使用XML佈局定義的本機應用程序。舉個例子,你可以採取幾乎任何示例應用程序,並展示如何使其縮放到不同的屏幕尺寸,所以如果屏幕很小,則無論分辨率如何,都可以獲得小文本。

只是要清楚:我不認爲這個問題可以通過描述如何使用標準Android處理多種屏幕尺寸的方式來幫助回答:http://developer.android.com/guide/practices/screens_support.html。這是我不想這次做的。這實際上是關於如何做其他事情 - 縮放以適應 - 當你真的需要它時。

+0

如果我理解正確,是的,它可以完成。但是你最好把這些表格的代碼和圖片放在這裏。 – gnclmorais

+0

@gnclmorais:是的,我同意,但我還沒有想出如何有效地做到這一點。只需採取任何本地應用程序,並使其規模! –

回答

0

我希望我理解你的處境好:

如果它是一個Web應用程序(您正在使用的WebView),然後使用視標籤:

<meta name="viewport" content="width=device-width;"> 

這將適合頁面內容到設備屏幕。

或者如果它是本機應用程序(也可用於Web應用程序),則可以在佈局XML中爲您的佈局高度和寬度添加填充父級。

+0

這是一個本地應用程序。請參閱編輯。 –

0

使用此代碼:

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

要得到任何的Android屏幕的高度和寬度,並與這個特殊的尺寸,爲您的佈局比例。

例如,

RelativeLayout fieldMain = (RelativeLayout)findViewById(R.id.field_layout); 

fieldMain.setLayoutParams(new RelativeLayout.LayoutParams((Int)(0.8*width), (int) (0.9*height))); 
+0

可以工作。我們必須試一試。 –

0

如果我正確地得到這個,你缺少Android中的最強點,動態佈局之一。例如,您可以使用表格dp,文本使用spTake a look at it

+0

這不是一個答案,這是一個評論。是的,我需要更好地解釋爲什麼我要這樣做,但我真的這樣做。 –

+0

爲什麼你不閱讀我發給你的網頁並開始試驗你的代碼?你實際上並不希望StackOverflow能夠魔法般地爲你提供解決問題的代碼,而不需要你提供任何代碼...... – gnclmorais

+0

嗯。我很瞭解這個頁面,我已經深入研究了它,並根據這些準則編寫了軟件。現在對於完全不同的東西,我想要按照我的要求去做:寫一個縮放應用程序,而不是適應不同的屏幕尺寸。你能幫我嗎? –