0

我正在研究應該在屏幕上顯示幾張相同大小的圖像的應用程序。但它應該只顯示儘可能多的圖像而不提供滾動。Android佈局:儘可能多地顯示ImageView而不滾動

E.g.在「大」平板上它可以顯示10x10 Imageviews(屏幕很大,所以有很多圖片空間)

在「大」手機上可能有足夠的空間來顯示6x6 ImageViews,所以它應該只顯示一個6x6圖像陣列。

在一個小型手機上只有4x4 ImageViews空間,所以它應該只顯示這個。

我該如何在Android中做到這一點?我知道「layout-large」,但是如果我爲「大型」設備製作特殊的固定xml佈局,它將不適合所有設備。例如。一個Galaxy Nexus是一個「常規」設備,Nexus One也是如此,但至少在Galaxy Nexus上可以存放一個或兩個以上的imageview行,而不是Nexus One。因此,我必須在代碼中以某種方式測量分辨率有多大,並相應地顯示一些TableRows?或者有什麼特殊的方式可以管理?

回答

0

您應該使用GridView來管理它。

GridView Android Developers

編輯:的確如托馬斯Gawel說:notice the GridView's android:numColumns="auto_fit" xml attribute

編輯:既然你不希望它是滾動的,你可以得到的屏幕尺寸,按尺寸劃分它的項目,並只放入儘可能多的項目,你想在gridview中顯示。 gridview只有當它有更多的項目可以顯示時纔會滾動。

getResources().getDisplayMetrics().widthPixels and heightPixels 
+0

並注意GridView的'機器人:爲numColumns = 「auto_fit」'XML屬性 –

+0

好吧,但我想非滾動列表。正如GridView文檔所指出的那樣,它代表了「一個二維的,可滾動的網格」。我只想要一個不可滾動的網格。它應該在普通手機上顯示4x4圖像並在平板電腦上顯示10x10圖像。如果剩下足夠的空間用於一行,則應該添加新的行,否則不應該添加 – Toni4780