public class MainActivity extends AppCompatActivity { @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.zhiyuan3g.fragmenttest.MainActivity"> <fragment android:name="com.zhiyuan3g.fragmenttest.Fragment1" android:id="@+id/fragment1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"/> <fragment android:name="com.zhiyuan3g.fragmenttest.Fragment2" android:layout_width="0dp" android:id="@+id/fragment2" android:layout_height="match_parent" android:layout_weight="1"/></LinearLayout>Fragment1.class(同Fragment2.class)public class Fragment1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View fragment1 = inflater.inflate(R.layout.fragment1, null); return fragment1; }}运行效果:
二、Fragment的动态创建的步骤:(前提:写好自己的Fragment类,见上篇文章)1.创建Fragment的管理对象fragmentManager。FragmentManager fragmentManager = getFragmentManager();2.创建事务对象(Fragment事务对象不能抽取,因为每提交一次,就需要一个新的Fragment事务对象.(所有的事务都有这个特性))FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();3.动态创建Fragment
fragmentTransaction.replace(android.R.id.content, new Fragment1());
4.提交事务对象fragmentTransaction.commit();
代码如下:MainActivity.class/** * function:g根据横竖屏切换不同的Fragment显示。 */public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); int height = windowManager.getDefaultDisplay().getHeight(); int width = windowManager.getDefaultDisplay().getWidth(); //Fragment的动态创建步骤: //1.创建Fragment的管理对象fragmentManager FragmentManager fragmentManager = getFragmentManager(); //2.创建事务对象 FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); if (height > width) { //3.动态创建Fragment fragmentTransaction.replace(android.R.id.content, new Fragment1()); } else { //3.动态创建Fragment fragmentTransaction.replace(android.R.id.content, new Fragment2()); } //4.提交事务对象 fragmentTransaction.commit(); }}activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.zhiyuan3g.fragmenttest.MainActivity"> </LinearLayout>Fragment1.class(同Fragment2.class)public class Fragment1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View fragment1 = inflater.inflate(R.layout.fragment1, null); return fragment1; }}fragment1.xml<?xml version="1.0" encoding="utf-8"?><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="wrap_content" android:layout_height="wrap_content" android:text="我是fragment1" android:textSize="25dp"/></LinearLayout>运行效果:
竖屏时显示横屏时显示
![]()
新闻热点
疑难解答