4

I want to create the layouts for both portrait and landscape mode (in java) and change the orientations programmatically in java file. Can anybody help me?

4

2 に答える 2

2

setRequestOrientation()Activity クラスのメソッドを使用して、プログラムで向きを強制的に変更できます。

 public class Example extends Activity 
  {
  @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //---change to landscape mode---
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
   }
 }

縦向きモードに変更するには、次のActivityInfo.SCREEN_ORIENTATION_PORTRAIT定数を使用します。

詳細については、こちらを参照してください。

編集

Activity次のAndroidManifest.xmlように、特定の方向を追加できます。

 <activity android:name=".DemoActivity"
  android:label="@string/app_name"
  android:screenOrientation="portrait">

レイアウトに関する限り、下に別のフォルダを作成することをお勧めしますres/。たとえば、res/layout-port縦向きとres/layout-land横向きを作成できます。

于 2012-07-12T06:55:49.567 に答える