是否可以爲縱向和橫向的列表視圖定義不同的多列方法?例如,在Android市場上,您在縱向模式下滾動應用時需要兩列,而在橫向模式下則需要三列。多列表視圖
我看不到在自定義適配器中的一個佈局行內定義兩個「位置」的方法,也沒有辦法指定ListView在一行內有兩個不同的列表項。我應該使用不同的佈局嗎?
是否可以爲縱向和橫向的列表視圖定義不同的多列方法?例如,在Android市場上,您在縱向模式下滾動應用時需要兩列,而在橫向模式下則需要三列。多列表視圖
我看不到在自定義適配器中的一個佈局行內定義兩個「位置」的方法,也沒有辦法指定ListView在一行內有兩個不同的列表項。我應該使用不同的佈局嗎?
市場應用程序未使用ListView,它使用的是GridView,請參閱Hello GridViewTutorial以瞭解更多信息。
GridView可以使用與列表視圖相同的適配器,但它會將項目放置在具有多列的網格中。您可以指定資源文件中的列數,然後使用值 - 端口值 - xhdpi等進行區分,也可以讓GridView自行選擇how many columns應顯示。
如果添加了兩個文件夾:
layout-land
layout-port
在這些文件夾中存在相同的文件,說myRowLayout.xml
當你的設備處於橫向模式,myRowLayout.xml
這是文件夾layout-land
在將被使用,而在layout-port
將在縱向模式下使用。
謝謝Janusz。這非常完美 - 正是我所期待的。對於我的菜單視圖,我甚至不需要爲縱向和橫向設置不同的文件。通過設置列寬,我可以強制網格視圖完成所有工作。對於一些更復雜的ListView,我需要一個分隔符,但GridView不支持這種分隔符。達到此目的的最佳方式是什麼?添加背景圖像到筆畫大綱的項目? –
這將是我的解決方案,只需將分頻器放入項目即可。這只是一個問題,如果你想有一個只在兩列之間的分隔線,而不是在左側和右側 – Janusz
它看起來像市場放在每一行的左側和底部的分頻器。我似乎只能讓該筆畫在該項目的所有四邊進行操作 - 這顯然意味着您在行/列之間會出現雙線。我想我需要一些左邊和底部的圖像,不能用XML表示。 –