2019年1月4日 星期五

[Android]_ch11.4_Tab導覽列元件2





[Android]_ch11.4_Tab導覽列元件2

package com.derek.ch28_tab;



import android.app.ActionBar;

import android.app.ActionBar.TabListener;

import android.app.Activity;

import android.app.ActionBar.Tab;

import android.app.Fragment;

import android.app.FragmentTransaction;

import android.content.Context;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.Toast;





public class MainActivity extends Activity {



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);

       

        ActionBar actionBar=getActionBar();

        actionBar.setDisplayShowHomeEnabled(false);

        actionBar.setDisplayShowTitleEnabled(false);

        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        Tab Tab1=actionBar.newTab();

        Tab1.setText("郵件");

        Tab1.setIcon(R.drawable.icon1);

        Tab1.setTabListener(new MyTabListener<Tab1>(MainActivity.this,"Tab1",Tab1.class));

        Tab Tab2=actionBar.newTab();

        Tab2.setText("購物");

        Tab2.setIcon(R.drawable.icon2);

        Tab2.setTabListener(new MyTabListener<Tab2>(MainActivity.this,"Tab2",Tab2.class));

        Tab Tab3=actionBar.newTab();

        Tab3.setText("主頁");

        Tab3.setIcon(R.drawable.icon3);

        Tab3.setTabListener(new MyTabListener<Tab3>(MainActivity.this,"Tab3",Tab3.class));

        Tab Tab4=actionBar.newTab();

        Tab4.setText("Q&A");

        Tab4.setIcon(R.drawable.icon4);

        Tab4.setTabListener(new MyTabListener<Tab4>(MainActivity.this,"Tab4",Tab4.class));

        actionBar.addTab(Tab1);

        actionBar.addTab(Tab2);

        actionBar.addTab(Tab3);

        actionBar.addTab(Tab4);

    }

   

    public class MyTabListener<T extends Fragment> implements TabListener{

    Fragment fragment;

    String name;

    Class<T> clz;

    Context context;

   

    public MyTabListener(Context context,String name, Class<T> clz){

    this.context=context;

    this.name=name;

    this.clz=clz;

    }

@Override

public void onTabSelected(Tab tab, FragmentTransaction ft) {

if(fragment==null){

fragment=Fragment.instantiate(context, clz.getName());

ft.add(android.R.id.content, fragment, name);

}else{

ft.attach(fragment);

}

}



@Override

public void onTabUnselected(Tab tab, FragmentTransaction ft) {

if(fragment!=null){

ft.detach(fragment);

}

}



@Override

public void onTabReselected(Tab tab, FragmentTransaction ft) {

Toast.makeText(MainActivity.this, "釋放回收...", Toast.LENGTH_SHORT).show();



}

   

    }

}


沒有留言:

張貼留言

Ether.fi Cash Card 一張所有人必備的加密貨幣信用卡   [Ether.fi Cash Card] : https://www.ether.fi/app/cash/sign-up?ref_code=d27f8523 ------國際交易所------ [Bitg...