我需要一项活动,根据方向加载不同的片段:
活动->(人像)片段肖像
活动->(风景)片段风景
这是activity_layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.examples.MainActivity"
android:background="#FF0000">
<fragment
android:id="@+id/navigationContainerFragment"
android:name="com.examples.FragmentPort"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
这是activity_layout_land.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.examples.MainActivity"
android:background="#FF0000">
<fragment
android:id="@+id/navigationContainerFragment"
android:name="com.examples.FragmentLandscape"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
然后是fragmentPortrait.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="FRAGMENT PORTRAIT"/>
</LinearLayout>
和FragmentLanscape.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="FRAGMENT LANDSCAPE"/>
</LinearLayout>
问题是旋转时我看不到FragmentLandscape。有人能帮我吗?谢谢
更新:我已经在不同的文件夹中放置了不同的布局:/ layout和/ layout-land
答案 0 :(得分:2)
在res
中创建两个名为layout-land
或layout-port
的文件夹
将Portrait xml文件放置在 layout-port:
和
将景观xml文件放置在 layout-land:
请记住,两个文件都具有相同的名称