Fragment的使用

main.xml:java

<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="vertical"
    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=".MainActivity" 
    
    >
    <LinearLayout 
        android:id="@+id/top"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#a6a6a6"
        >
        
        <TextView 
            android:layout_gravity="center"
            android:id="@+id/tab1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#e8b3dd"
            android:text="社會新聞"
            />
        <TextView 
            android:layout_gravity="center"
            android:id="@+id/tab2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#e8b3dd"
            android:text="生活新聞"
            />
        <TextView 
            android:layout_gravity="center"
            android:id="@+id/tab3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#e8b3dd"
            android:text="軍事新聞"
            />
        
    </LinearLayout>
    <LinearLayout 
        android:orientation="vertical"
        android:id="@+id/content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
        
        
        
    </LinearLayout>
</LinearLayout>

fragment01.xml :android

<?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:orientation="vertical" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="這裏顯示社會新聞"/>
</LinearLayout>

fragment02.xml :app

<?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:orientation="vertical" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
  android:text="這裏顯示生活新聞"/>
</LinearLayout>

fragment03.xml :ide

<?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:orientation="vertical" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="這裏顯示軍事新聞"/>
</LinearLayout>

MainActivity.java :this

package com.example.fragment;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
 private LinearLayout content;
 private TextView tv1, tv2, tv3;
 private FragmentManager fm;
 private FragmentTransaction ft;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  content = (LinearLayout) this.findViewById(R.id.content);
  tv1 = (TextView) this.findViewById(R.id.tab1);
  tv2 = (TextView) this.findViewById(R.id.tab2);
  tv3 = (TextView) this.findViewById(R.id.tab3);
  tv1.setOnClickListener(this);
  tv2.setOnClickListener(this);
  tv3.setOnClickListener(this);
  fm = getFragmentManager();
  ft = fm.beginTransaction();
  ft.replace(R.id.content, new Fragment01());
  ft.commit();
 }
 @Override
 public void onClick(View v) {
  ft = fm.beginTransaction();
  switch (v.getId()) {
  case R.id.tab1:
   ft.replace(R.id.content, new Fragment01());
   break;
  case R.id.tab2:
   ft.replace(R.id.content, new Fragment02());
   break;
  case R.id.tab3:
   ft.replace(R.id.content, new Fragment03());
   break;
  }
  ft.commit();
 }
}

Fragment01.java :3d

package com.example.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment01 extends Fragment {
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  
  return inflater.inflate(R.layout.fragment01, null);
 }
}

Fragment02.java :code

package com.example.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment02 extends Fragment {
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  
  return inflater.inflate(R.layout.fragment02, null);
 }
}

Fragment03.java :xml

package com.example.fragment;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment03 extends Fragment {
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  
  return inflater.inflate(R.layout.fragment03, null);
 }
}
相關文章
相關標籤/搜索