代码内容来自李兴华视频讲解
在XML文件中,<fragment />标签首字母是小写的,那么它就不是一个View对象了,代表它是一种类型。
其中的name元素需要在代码中创建出继承Fragment的类之后,这个类的包名类名就是它的name,很类似Activity在清单文件中的Activity的name
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<fragment
android:id="@+id/fragment1"
android:name="com.example.firstfragment.Fragment1"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
<fragment
android:id="@+id/fragment2"
android:name="com.example.firstfragment.Fragment2"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
</LinearLayout>
fragment1.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#0000ff"
android:orientation="vertical" >
</LinearLayout>
fragment2.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff0000"
android:orientation="vertical" >
</LinearLayout>
Fragment1.java
package com.example.firstfragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment
{
/**
* 当Fragment被创建时候调用的方法,返回当前Fragment显示的内容
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
//使用xml文件填充fragment1
return inflater.inflate(R.layout.fragment1, null);
}
}
Fragment2.java
package com.example.firstfragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment2 extends Fragment
{
/**
* 当Fragment被创建时候调用的方法,返回当前Fragment显示的内容
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
//使用xml文件填充fragment1
return inflater.inflate(R.layout.fragment2, null);
}
}
MainActivity.java 没有添加任何内容