tabhost這個控件谷歌已經棄用了,多學無益。現在都流行tablayout+fragment+viewpager.
先看安卓無憂中對這個的demo,如果想看源碼,請百度安卓無憂,點擊源碼就可以看。
fragment:
package?mm.shandong.com.testtablayout.adapter;import?android.support.v4.app.Fragment;
import?android.support.v4.app.FragmentManager;
import?android.support.v4.app.FragmentPagerAdapter;
import?java.util.List;
/**
*?Created?by?安卓無憂?on?2016/8/11. */public?class?MyFragmentPagerAdapter?extends?FragmentPagerAdapter?{
private?List<Fragment>?list_fragment;?//fragment列表
private?List<String>?list_Title;?//tab名的列表
public?MyFragmentPagerAdapter(FragmentManager?fm,
List<Fragment>?list_fragment,?List<String>?list_Title)?{super(fm);
this.list_fragment?=?list_fragment;
this.list_Title?=?list_Title;
}
@Override
public?Fragment?getItem(int?position)?{
return?list_fragment.get(position);
}
@Override
public?int?getCount()?{
return?list_fragment.size();
}
@Override
public?CharSequence?getPageTitle(int?position)?{
return?list_Title.get(position);
}
}
activity:
package?mm.shandong.com.testtablayout;import?android.support.design.widget.TabLayout;
import?android.support.v4.app.Fragment;
import?android.support.v4.view.ViewPager;
import?android.support.v7.app.AppCompatActivity;
import?android.os.Bundle;
import?java.util.ArrayList;
import?java.util.List;
import?mm.shandong.com.testtablayout.adapter.MyFragmentPagerAdapter;
import?mm.shandong.com.testtablayout.fragment.HomeFragment;
import?mm.shandong.com.testtablayout.fragment.SearchFragment;
import?mm.shandong.com.testtablayout.fragment.TuanGouFragment;
import?mm.shandong.com.testtablayout.fragment.UserFragment;
public?class?TestTabLayoutActivity?extends?AppCompatActivity?{
ViewPager?viewPager;
TabLayout?tabLayout;
List<Fragment>?list_fragment;
List<String>?list_title;
@Override
protected?void?onCreate(Bundle?savedInstanceState)?{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_tab_layout);
tabLayout?=?(TabLayout)?findViewById(R.id.tablayout);
viewPager?=?(ViewPager)?findViewById(R.id.viewPager);
list_fragment?=?new?ArrayList<Fragment>();
list_title?=?new?ArrayList<String>();
initControls();
}
///初始化
private?void?initControls()?{
//創建Fragement
HomeFragment?homeFragment?=?new?HomeFragment();
SearchFragment?searchFragment?=?new?SearchFragment();
TuanGouFragment?tuanGouFragment?=?new?TuanGouFragment();
UserFragment?userFragment?=?new?UserFragment();
//將fragment裝進列表中
list_fragment?=?new?ArrayList<>();
list_fragment.add(homeFragment);
list_fragment.add(searchFragment);
list_fragment.add(tuanGouFragment);
list_fragment.add(userFragment);
//將名稱加載tab名字列表,正常情況下,我們應該在values/arrays.xml中進行定義然後調用
list_title?=?new?ArrayList<>();
list_title.add("網站主頁");
list_title.add("搜索周邊");
list_title.add("我的團購");
list_title.add("用戶管理");
//設置TabLayout的模式
tabLayout.setTabMode(TabLayout.MODE_FIXED);
//為TabLayout添加tab名稱
tabLayout.addTab(tabLayout.newTab().setText(list_title.get(0)));
tabLayout.addTab(tabLayout.newTab().setText(list_title.get(1)));
tabLayout.addTab(tabLayout.newTab().setText(list_title.get(2)));
tabLayout.addTab(tabLayout.newTab().setText(list_title.get(3)));
//創建ViewPager的FragmentPagerAdapter
MyFragmentPagerAdapter?myFragmentPagerAdapter;
myFragmentPagerAdapter?=?new?MyFragmentPagerAdapter(this.
getSupportFragmentManager(),?list_fragment,?list_title);
//viewpager加載adapter
viewPager.setAdapter(myFragmentPagerAdapter);
//tabLayout與viewPager建立聯系tabLayout.setupWithViewPager(viewPager);
//tab_FindFragment_title.set
}
}
ps:為了方便交流看壹下我名字中文和除了中文以外的。