2014-01-15 49 views
0

我在layout文件夾中找到了兩個定義爲mainactivity.xml的佈局,而在layout-port文件夾中找到了另一個mainactivity.xml。正如你可以告訴一個佈局是針對橫向的,另一個是針對肖像的。將ScrollView更改爲Horizo​​ntalScrollView

我遇到的問題是,在景觀佈局中,我有一個ScrollView,而在縱向佈局中,它是一個HorizontalScrollViewid相同。當設備的方向改變時,如何將(在代碼中)將ScrollView更改爲Horizo​​ntalScrollView?

回答

-2

在您的滾動視圖定義此屬性

機器人:方向=「橫向」景觀

機器人:方向=「垂直」人像

+0

scrollview沒有方向屬性。 – Damian

+0

大聲笑....我使用它在我所有的項目,你說它沒有方向 – Yogamurthy

+1

你是否與Linearlayout混淆?有一個ScrollView,並有一個Horizo​​ntalScrollView。 ScrollView上沒有方向屬性。 – Damian

0

您可以創建在res一個bools.xml文件/價值觀土地(和一個在res /值端口在is_landscape應設置爲false)

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <bool name="is_landscape">true</bool> 
</resources> 

然後在你的代碼,你可以檢查

if (getResources().getBool(R.bool.is_landscape)) { 
    //setup horizontal scrollview 
} else { 
    //setup vertical scrollview 
} 

雖然也許是更好的辦法是使用這個庫(這樣你就不必爲兩種不同的UI組件代碼)。

https://github.com/lucasr/twoway-view

我在當前項目中使用這個和它精美的作品。