2013-02-08 53 views
0

如何在縱向模式下獲得一列,並使用ListViewTableLayout以橫向模式獲取兩列。橫向模式下的ListView或TableLayout的兩列

例如,在人像:

  • 元素1
  • 元件2
  • 元素3
  • 元素4

而在橫向:

  • 元素1元素2
  • 元素3元素4

我想用ListView在縱向模式一列TableLayout在橫向模式下兩列,但在此之前,我想知道你的建議。

回答

1

使用GridView會很容易。您可以在運行時設置/選擇列數,因此在portait vs landscape模式下設置不同。這樣,你只是在操縱一個視圖。

+0

我想我會選擇這個解決方案。 – OWZY 2013-02-08 23:01:19

+0

如果您願意,請接受解決方案。 – 2013-02-08 23:04:10

+0

我會測試它並給你我的反饋 – OWZY 2013-02-08 23:06:28

1

我推薦使用ListView而不是TableLayout,因爲ListViews只創建足夠的視圖來填充屏幕,而TableLayout將創建每個資源,而不管它們是否可見。以這種方式,TableLayout速度較慢,甚至可能會導致應用程序崩潰。 Check orientation on Android phone


您可以用其中一個答案檢查設備的方向。那麼如果方向是:

  • 橫向加載您的雙視圖佈局。
  • 肖像,加載您的基本,單視圖佈局。

在ListView中加載不同的佈局需要一個簡單的自定義適配器。如果你以前沒有寫過一個,這裏有一個tutorial來幫助你。

+0

gridview呢? – OWZY 2013-02-08 23:00:28

+0

GridView是ListView的子類,所以它們非常相似。但要創建一個快速,個性化的佈局,您必須自己編寫一個定製的適配器。所以如果一個if語句是「方式困難」,那麼肯定使用GridView。 :)但是你仍然需要使用兩種佈局或者使用if語句來確定方向。 – Sam 2013-02-08 23:48:24