2012-06-06 70 views
2

我想旋轉Buttons/TextViews/etc。在屏幕方向變化,但我想保持佈局不變。如何做呢?我正在使用LinearLayouts。在屏幕方向變化上旋轉視圖(但不是佈局)

這就是我的意思是: http://i46.tinypic.com/209hwnr.png

+1

可以在layout-land和layout-port中創建不同的佈局 –

+1

'我想旋轉Buttons/TextViews/etc。在屏幕方向變化,但我想保持佈局不變。「 - 你沒有看到你說'我想使用新的佈局,但我不想使用新的佈局。 – mah

+0

你能解釋一下嗎? – breceivemail

回答

5

創建res->layout->layout-land,把你的xml文件的景觀 模式

layout文件夾佈局文件僅適用於縱向模式現在,如果你需要的景觀,然後創建layout-land文件夾。

0

你必須改變佈局參數。

+0

哪些參數?我嘗試將佈局方向更改爲相反(屏幕方向更改),但它不起作用。 – Ziem

+0

佈局的佈局參數。在java中做這些工作是可能的,但是工作量太大。但無論如何,請檢查Samir Mangroliya的回答。這是更好的方法。 – mihail

1

這是可以做到這兩種方式:

1)要麼你定義layout-land文件夾一個新的XML文件。

2)請使用您的活動代碼android:configChanges="orientation"內的manifest.xml

然後在您的活動類:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     ChangeToLandscape(); 
    } else { 
     ChangeToPortrait(); 
    } 
} 

LayoutParams lp; 
public void ChangeToLandscape() { 
    lp = new LayoutParams(new ViewGroup.MarginLayoutParams(
      LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 
    textView1.setLayoutParams(lp); 
    lp.setMargins(0, 0, 0, 0); // Whatever you want 
    // Similar for other views 
} 

//Similarly, implement `ChangeToPortrait()` 

希望它可以幫助!

相關問題