2010-10-04 74 views
1

我有一個按鈕,我想佔據屏幕的75%:多種分辨率縮放ImageButtons

Panic

在一個480×800分辨率的屏幕,這將是360個像素寬。
在280x320分辨率屏幕上,這將是210像素寬。

如何在我的佈局XML文件中指定此選項?

我知道有測量的DIP單位,但也努力擴大屏幕圖像的分辨率?我將使用什麼DIP測量,並且需要將圖像保存在160dpi。

+0

Android支持SVG嗎? – HardQuestions 2010-10-04 14:17:04

回答

1

您可以通過定義在其相應的子目錄佈局創建針對不同屏幕密度不同的佈局,高密度的屏幕叫layout-small爲小密度屏幕,layout-normal所有的密度和layout-large

浸塗後的測量適用於這一點,但我不太清楚什麼值來設置我猜你一定要嘗試,並找出一個適合自己的需求。

你可以找到深度文章here

編輯:我已經混合起來......對不起,我感到困惑。上面更正了我的答案。

@HardQuestion:這是針對Android的支持media formats

+0

不會'/ res/layout-normal/layout。xml'等於3個像素寬度? (240,320,480) – 2010-10-04 14:35:35

+0

我想我終於明白了,我爲240像素大小的屏幕創建了按鈕,並且它爲我擴展了它。所以210的下陷寬度 – 2010-10-04 15:49:46

2

你應該真的嘗試通過思考所有不同的屏幕尺寸,以避免這種複雜,而且密度和這樣的。

你說你想讓你的按鈕佔據屏幕的75%。

好了,把它放在一個的LinearLayout有點像這樣:

<LinearLayout android:layout_width="match_parent" 
     android:layout_height="match_parent 
     android:orientation="horizontal"> 

    <My75PercentButton 
      android:layout_width="0px" 
      android:layout_height="match_parent" 
      android:layout_weight="75"> 

    <View 
      android:layout_width="0px" 
      android:layout_height="match_parent" 
      android:layout_weight="25"> 

</LinearLayout> 

這使得這兩種觀點有0寬度,但傳播後,對他們的可用空間的75%,到第1,和25%進入第二個。

如果你想使你的按鈕,舒展,以填補這一空間(而不是隻讓周圍空填充),使之成爲9補丁。

你也想支持不同的屏幕密度,所以在繪製-LDPI,繪製,MDPI,並繪製 - 華電國際爲您的按鈕不同的圖像大小。

但我真的會小心試圖自己推到這裏您設計的圖形爲各種具體的屏幕尺寸世界會在傷害一個巨大的世界結束了。你真的不想那樣做。 Android設備已經有很多屏幕尺寸在運行;這隻會在未來大大增加。如果您利用佈局經理和其他此類設施來調整實際屏幕大小,則您的應用將在所有這些屏幕上運行良好,而您幾乎不需要任何工作。如果你試圖爲特定的屏幕尺寸設計你的圖形,你會一遍又一遍地做這件事,直到你無法忍受。

+0

你如何將一個圓圈分成9個伸展的片段? – 2010-10-05 08:12:35

+0

你不能用9補丁來做到這一點。要麼改變您的藝術,以便能夠使用9修補程序進行縮放,要麼切換到使用圖形API繪製圖形。關鍵是,試圖用這樣的特定設計強制你的方式,這將使你的生活真的很難,也許不是最好的選擇。 – hackbod 2010-10-06 00:40:16