2012-03-22 11 views
4

私はアクティビティ用に2つのレイアウトxmlファイルを指定しました.1つはres/layoutフォルダのPortrait、もう1つはres/layout-landフォルダのLandscapeです。私の実際の問題は、ポートレートモードでアプリケーションを起動するとレイアウトからuiが取られ、すぐにレイアウトフォルダからUIをとるレイアウトランドフォルダからxmlを取らない携帯電話を回転させて、アプリをランドスケープモードで起動するとレイアウト土地のフォルダからxmlを取り出し、ポートフォリオモードに即座に回転させます。これはレイアウトから土地を取得します.uiはポートレートUIに変わりません。縦向きと横向きのレイアウトに異なるレイアウトを指定していますか?

この問題を解決するには、そのPLZに必要な設定が問題であることを、どのバディにも教えてください。

ありがとうございます。

this is my landscape ui xml 

     <?xml version="1.0" encoding="utf-8"?> 
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/widget57" 
     android:layout_width="400dp" 
     android:layout_height="400dp" 
     android:layout_gravity="center|center_vertical" 
     android:layout_marginTop="30dp" 
     android:orientation="vertical" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="40dp" > 

      <TextView 
       android:id="@+id/txtName" 
       android:layout_width="90dp" 
       android:text="@string/UserName" /> 

      <EditText 
       android:id="@+id/edName" 
       android:imeOptions="actionNext|actionDone" 
       android:paddingRight="10dp" 
       android:singleLine="true" 
       android:width="240dp" /> 
     </TableRow> 

     <TableRow 
      android:id="@+id/tableRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/txtPass" 
       android:layout_width="90dp" 
       android:text="@string/PassWord" /> 

      <EditText 
       android:id="@+id/edPass" 
       android:imeOptions="actionGo" 
       android:paddingRight="10dp" 
       android:password="true" 
       android:singleLine="true" 
       android:width="240dp" /> 
     </TableRow> 

     <LinearLayout 
      android:id="@+id/widget57" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center" 
      android:orientation="vertical" > 

      <Button 
       android:id="@+id/btnLogin" 
       android:layout_width="150dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="10dp" 
       android:text="@string/btn_GO" 
       android:textSize="19sp" > 
      </Button> 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="30dp" 
       android:text="CoinOp Solutions" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="10dp" 
       android:text="Version 0.1" /> 
     </LinearLayout> 


    </TableLayout> 

    this is my Portrait ui 

     <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/widget57" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/txt_Required" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:textColor="#ffff0000" > 
     </TextView> 

     <TextView 
      android:id="@+id/txtName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="15dp" 
      android:text="@string/UserName" > 
     </TextView> 

     <EditText 
      android:id="@+id/edName" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:imeOptions="actionNext|actionDone" 
      android:singleLine="true" 
      android:textSize="18sp" > 
     </EditText> 

     <TextView 
      android:id="@+id/txtPass" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="10dp" 
      android:text="@string/PassWord" > 
     </TextView> 

     <EditText 
      android:id="@+id/edPass" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:imeOptions="actionGo" 
      android:maxLines="1" 
      android:password="true" 
      android:singleLine="true" 
      android:textSize="18sp" > 
     </EditText> 

     <LinearLayout 
      android:id="@+id/widget57" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center" 
      android:orientation="vertical" > 

      <Button 
       android:id="@+id/btnLogin" 
       android:layout_width="150dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="10dp" 
       android:text="@string/btn_GO" 
       android:textSize="19sp" > 
      </Button> 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="30dp" 
       android:text="CoinOp Solutions" 
       android:textSize="30sp" 
       android:textStyle="bold" /> 

      <TextView 
       android:id="@+id/textView1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginTop="10dp" 
       android:text="Version 0.1" /> 
     </LinearLayout> 

    </LinearLayout> 

私のマニフェストファイル

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="8" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application 
     android:debuggable="true" 
     android:icon="@drawable/coinop" 
     android:label="@string/app_name" 
     android:theme="@style/CustomTheme" > 
     <activity 
      android:name=".LoginActivity" 
      android:configChanges="orientation" 
      android:label="@string/app_name" 
      android:windowSoftInputMode="stateVisible|adjustPan" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".ShowDbList" 
      android:configChanges="orientation" 
      android:label="@string/app_name" 
      android:windowSoftInputMode="adjustPan" > 
     </activity> 
     <activity 
      android:name=".Menu" 
      android:configChanges="orientation" 
      android:label="@string/app_name" 
      android:windowSoftInputMode="adjustPan" > 
     </activity> 
+1

マニフェストファイルを表示してください。 –

+0

私のマニフェストファイルを追加しました –

答えて

7

あなたがマニフェストにandroid:configChanges="orientation"を持っています。 docconfigChangesによれば、あなた自身で手動で処理するアクションのリストが含まれています。

android:configChanges="orientation"を削除すると、電話機を回転させるとレイアウトが変更されます。さもなければあなたはそれをあなた自身で扱うことになっています。

+0

ありがとうございました。私にとってはうまく動作します –

+0

問題ありません:]:] –

2

ない、これは役立ちますが、(uはまだなかった場合)uが試みることができるかどうかを確認します。レイアウトを使用して活動の

  1. 、再びonConfigurationChangedとsetContentViewをオーバーライドします。
  2. アンドロイドを削除:

    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    
    // Checks the orientation of the screen 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
        Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
        Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
    

    } とにsetContentView(..)を介してレイアウトてmanualy設定:追加しようとする必要があり、レイアウト

関連する問題