FragmentTabHost
16lz
2021-01-26
在activity_main_layout里添加FragmentTabHost
android.support.v4.app.FragmentTabHost的id必须是:@android:id/tabhost
<?xml version="1.0" encoding="utf-8"?>
MainActivity.java
public class MainActivity extends AppCompatActivity implements TabHost.OnTabChangeListener { private FragmentTabHost mTabHost; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.activity_main_real_tab_content); mTabHost.getTabWidget().setDividerDrawable(null); mTabHost.setOnTabChangedListener(this); initTab(); } private void initTab() { String[] tabs = TabDb.getTabsTxt(); Class[] clz = TabDb.getFragment(); for (int i = 0; i < tabs.length; i++) { TabHost.TabSpec spec = mTabHost.newTabSpec(tabs[i]).setIndicator(getView(i)); mTabHost.addTab(spec, clz[i], null); mTabHost.setTag(i); } } private View getView(int i) { View view = LayoutInflater.from(this).inflate(R.layout.footer_tabs, null); TextView textView = (TextView) view.findViewById(R.id.footer_tabs_text_view); textView.setText(TabDb.getTabsTxt()[i]); if (i == 0) { textView.setTextColor(getResources().getColor(R.color.main_green)); ((ImageView) view.findViewById(R.id.footer_tabs_image_view)).setImageResource( TabDb.getTabImgLight()[i] ); } else { ((ImageView) view.findViewById(R.id.footer_tabs_image_view)).setImageResource( TabDb.getTabImg()[i] ); } return view; } @Override public void onTabChanged(String s) { updateTab(); } private void updateTab() { TabWidget tabw = mTabHost.getTabWidget(); for (int i = 0; i < tabw.getChildCount(); i++) { View view = tabw.getChildAt(i); ImageView iconIv = (ImageView) view.findViewById(R.id.footer_tabs_image_view); TextView tipTv = (TextView) view.findViewById(R.id.footer_tabs_text_view); if (i == mTabHost.getCurrentTab()) { iconIv.setImageResource(TabDb.getTabImgLight()[i]); tipTv.setTextColor(getResources().getColor(R.color.main_green)); } else { iconIv.setImageResource(TabDb.getTabImg()[i]); tipTv.setTextColor(getResources().getColor(R.color.foot_text_gray)); } } }}
更多相关文章
- retrofit2持久化保存cookie
- android GridView的应用举例
- 在Android工程中,添加ICON资源
- android 空调遥控器——简单发送内容
- 在已有的Android(安卓)签名基础上添加地图key的方式
- Android学习―7种形式的Android(安卓)Dialog使用举例
- Android电子牌外接USB读卡器读取内容模拟键盘事件
- Android(安卓):为你的启动页面SplashActivity 添加动画的几种方法
- 【Android(安卓)Training - 03】使用Fragments建立动态的UI [ Le