0

こんにちは、単一のレイアウトで 2 つのフラグメントを作成しました。

レイアウトランドで:

フラグメントは水平に表示する必要があります。

layout-port : フラグメントは垂直に表示する必要があります。

ここで、縦向きモードでアプリを実行する必要があります。これは、フラグメントを縦に表示することを意味します。今、これらを横向きモードに回転させる必要があります。つまり、フラグメントを縦方向にのみ表示することを意味します。

同時に、アプリをランドスケープ モードで実行する必要があります。これは、フラグメントを水平に表示することを意味します。今度は、これらをポートレート モードに回転させる必要があります。これは、フラグメントを水平に表示することを意味します。

しかし、次のような出力を表示したい:

縦向きモードでアプリを実行する必要があるのは、フラグメントを縦向きに表示することを意味します。今、これらを横向きモードに回転させる必要があります。これは、フラグメントを水平に表示することを意味します。

同時に、アプリをランドスケープ モードで実行する必要があります。これは、フラグメントを水平に表示することを意味します。今度は、これらをポートレート モードに回転させる必要があります。これは、フラグメントを垂直に表示することを意味します。

どのようにできるのか ???

上記のような結果が得られるのはなぜですか。何か提案があれば教えてください。

編集:

レイアウトランド: fragment.xml:

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

>
   <ImageView
        android:id="@+id/refresh"
        android:layout_width="wrap_content"
        android:layout_height="45dp"

        android:layout_gravity="center_vertical"
        android:layout_toLeftOf="@+id/pos"
        android:src="@drawable/ref_off" />
<LinearLayout 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/layout"
android:background="#414042"
android:orientation="horizontal" >

<fragment
  android:id="@+id/activity_main"
  android:name="com.notch.notchbolly.MainActivity"
  android:layout_width="0px"
  android:layout_height="match_parent"
  android:layout_weight="0.83"

  />
  <View
    android:layout_width="2dp"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    />
 <fragment
  android:id="@+id/subcate"
  android:name="com.notch.notchbolly.SubCate"
  android:layout_width="0px"
  android:layout_height="match_parent"
  android:layout_weight="1" />
  </LinearLayout>
  </RelativeLayout>

レイアウト ポート: fragment.xml:

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

 >
  <ImageView
         android:id="@+id/refresh"
        android:layout_width="wrap_content"
        android:layout_height="45dp"

        android:layout_gravity="center_vertical"
        android:layout_toLeftOf="@+id/pos"
        android:src="@drawable/ref_off" />
<LinearLayout 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/layout"
android:background="#414042"
android:id="@+id/orien"
android:orientation="vertical"
 >

<fragment
  android:id="@+id/activity_main"
  android:name="com.notch.notchbolly.MainActivity"
  android:layout_width="fill_parent"
  android:layout_height="200dp"

  />
 <View
    android:layout_width="fill_parent"
    android:layout_height="3dp"
    android:background="#FF0000"
    />
<fragment
  android:id="@+id/subcate"
  android:name="com.notch.notchbolly.SubCate"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  />


   </LinearLayout>
   </RelativeLayout>

これは私の AndroidListFragmentActivity です:

    public  class AndroidListFragmentActivity extends FragmentActivity  {


       /** Called when the activity is first created. */
    @Override
      public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment);

    ImageView refresh = (ImageView) findViewById(R.id.refresh);
        refresh.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                Intent in = new Intent(AndroidListFragmentActivity.this, AndroidListFragmentActivity.class);
                startActivity(in);
                } 
            }); 



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

        }

        }
4

1 に答える 1

1

android:configChanges="orientation" マニフェスト ファイルのアクティビティ宣言から を削除します。

于 2013-05-09T11:16:58.253 に答える