2011-05-22 67 views
0

我不明白爲什麼我可以指定資源取決於dpi,屏幕大小,方向等,但不是在分辨率。爲什麼我不能根據分辨率指定資源?

例如,我從網上下載了文章的縮略圖;他們總是300px寬。如果屏幕寬度至少爲600像素,我想將它們顯示在文本左側,如果屏幕寬度小於600像素,我想將它們繪製在文本上方。

如果我不知道屏幕本身的物理尺寸,我該如何依靠像dp/in/mm這樣的物理尺寸單位?

爲什麼Android不允許我這樣做?處理這種情況的首選方法是什麼?

+0

你不能在XML中管理它嗎?如果將文本區域的最小寬度設置爲300,則應將其自行排列。 – Haphazard 2011-05-22 13:22:22

+0

我想在佈局的不同部分顯示圖像,而不是調整它的大小。 – Fixpoint 2011-05-22 23:15:02

回答

1

我不明白爲什麼我可以指定資源取決於dpi,屏幕大小,方向等,但不是決議。

因爲這通常不是一個好主意。

如果我不知道屏幕本身的物理尺寸,我該如何依靠像dp/in/mm這樣的物理尺寸單位?

在資源設定的水平,你知道的物理尺寸通過-small-normal-large-xlarge。因此,例如,您可以在左側繪製圖標-large-xlarge,並在-small-normal上繪製您的圖標。

處理這種情況的首選方法是什麼?

首選的方法是根據屏幕尺寸和密度設計變型。

話雖如此,歡迎您通過自己的Java代碼做任何你想做的事情。佈局資源和資源集是推薦的便利,僅此而已。

+0

您能詳細說明屏幕尺寸嗎?文檔大小的含義很不明確。例如,它表示「小」意味着「佈局大小...大約爲320x426dp」。這是什麼意思? 360x360dp屏幕會變成「小」嗎?什麼是240x500dp?在我的情況下,我特別感興趣的是屏幕的寬度。 – Fixpoint 2011-05-22 23:18:31

+0

@Shooshpanchick:http://developer.android.com/guide/practices/screens_support.html解決方法完全沒有意義,你越早得知它越容易成功。你需要關心(明顯的)物理尺寸和(明顯的)屏幕密度。 – CommonsWare 2011-05-23 00:03:54

+0

我同意依靠物理尺寸更好。但Android並不讓我這樣做。對角線屏幕尺寸也是沒有意義的,因爲不同的長寬比。爲什麼在寬度和高度上沒有單獨的小/正常/大/ xlarge限定符? – Fixpoint 2011-05-23 06:59:49