Android : UI开发ActionBar页眉

来源:互联网 发布:软件行业ppt 编辑:程序博客网 时间:2024/05/17 04:55
方法一
package com.example.sun4;import android.os.Bundle;import android.app.ActionBar;import android.app.ActionBar.Tab;import android.app.Activity;import android.app.Fragment;import android.app.FragmentTransaction;import android.view.Menu;public class MainActivity extends Activity {   ActionBar actbar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);actbar=getActionBar();//设置tab模式为页眉actbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//新建2个Tab ActionBar.Tab tabA = actbar.newTab().setText("第一页");  ActionBar.Tab tabB =actbar.newTab().setText("第二页"); //讲TAB绑定到FragmentaFrom afrom=new aFrom();bFrom bFrom=new bFrom();   tabA.setTabListener(new MyTabsListener(afrom));          tabB.setTabListener(new MyTabsListener(bFrom));          actbar.addTab(tabA);          actbar.addTab(tabB);}protected class MyTabsListener implements ActionBar.TabListener{          Fragment fragment;         public MyTabsListener(Fragment fragment)         {             this.fragment = fragment;         }@Overridepublic void onTabReselected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub}@Overridepublic void onTabSelected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stubft.add(R.id.fragment_place, fragment, null);}@Overridepublic void onTabUnselected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub//一定记得remove的使用ft.remove(fragment);}  }}


不同页的显示

package com.example.sun4;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class aFrom  extends Fragment {    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,    Bundle savedInstanceState) {    // TODO Auto-generated method stub    return inflater.inflate(R.layout.aform_layout, container, false);    }}



大背景activity-main.xml

<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"   >    <LinearLayout        android:id="@+id/fragment_place"          android:layout_width="match_parent"          android:layout_height="wrap_content"        android:orientation="horizontal" >                </LinearLayout> </LinearLayout>

方法二

使用事物进行,其它同上

package com.example.sun4;import android.app.ActionBar;import android.app.ActionBar.Tab;import android.app.Activity;import android.app.Fragment;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.os.Bundle;public class XinActivity extends Activity implements ActionBar.TabListener{ ActionBar actionbar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_xin);actionbar=getActionBar();actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);actionbar.addTab(actionbar.newTab().setText("1").setTabListener(this));actionbar.addTab(actionbar.newTab().setText("2").setTabListener(this));}@Overridepublic void onTabReselected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub}@Overridepublic void onTabSelected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub//获得碎片管理器FragmentManager manager=getFragmentManager();//开始一个fragment事务FragmentTransaction trans=manager.beginTransaction();//替换fragment Fragment fragment=null;if("1".equals(tab.getText())){fragment=new aFrom();}else if("2".equals(tab.getText())){fragment=new bFrom();}trans.replace(R.id.fragment_place,fragment).commit();}@Overridepublic void onTabUnselected(Tab tab, FragmentTransaction ft) {// TODO Auto-generated method stub}}





0 0