2019年1月4日 星期五

[Android]_ch11.3_Tab導覽列元件1





[Android]_ch11.3_Tab導覽列元件1



加上Tab導覽方式,可以使用ActionBarTab功能,步驟如下:
Step1:實作ActionBar.TabListener介面以處理使用者點選Tab事件
Step2:透過newTab()初始化Tab後呼叫setText()/setIcon()設定Tab文字與圖示,並呼叫setTabListener()設定實作好的TabListener


Step3ActionBar呼叫addTab()新增各個Tab

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.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;





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<Fragment>());

        Tab Tab2=actionBar.newTab();

        Tab2.setText("購物");

        Tab2.setIcon(R.drawable.icon2);

        Tab2.setTabListener(new MyTabListener<Fragment>());

        Tab Tab3=actionBar.newTab();

        Tab3.setText("主頁");

        Tab3.setIcon(R.drawable.icon3);

        Tab3.setTabListener(new MyTabListener<Fragment>());

        Tab Tab4=actionBar.newTab();

        Tab4.setText("Q&A");

        Tab4.setIcon(R.drawable.icon4);

        Tab4.setTabListener(new MyTabListener<Fragment>());

        actionBar.addTab(Tab1);

        actionBar.addTab(Tab2);

        actionBar.addTab(Tab3);

        actionBar.addTab(Tab4);

    }

 

    public class MyTabListener<T extends Fragment> implements TabListener{



@Override

public void onTabSelected(Tab tab, FragmentTransaction ft) {

// TODO Auto-generated method stub



}



@Override

public void onTabUnselected(Tab tab, FragmentTransaction ft) {

// TODO Auto-generated method stub



}



@Override

public void onTabReselected(Tab tab, FragmentTransaction ft) {

// TODO Auto-generated method stub



}

   

    }



}



package com.derek.ch28_tab;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Tab1 extends Fragment{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.tab1,container, false);
return view;
}
}


沒有留言:

張貼留言

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