• 设置TabWidget的样式的方法、关联Fragment与tabwidget的方法、点击tab显示相应Fragment方法


    private void updateTabHost(TabHost tabHost) {
            int count = tabHost.getTabWidget().getChildCount();
            for (int i = 0; i < count; i++) {
                View view = tabHost.getTabWidget().getChildTabViewAt(i);
                int tabHeightPx = DisplayUtil.dp2px(this, 80 // tab高度,此处单位为dp,经过DisplayUtil后转为px然后赋值
                        );
                view.getLayoutParams().height = tabHeightPx; // tabWidget.getChildAt(i)
                final TextView tv = (TextView) view
                        .findViewById(android.R.id.title);
                tv.setTextSize(28);
                tv.setTextColor(this.getResources().getColorStateList(
                        android.R.color.white));
            }
        }

    这是更改其tabwidget样式的方法

    private void changeLayout() {
            // 根据用户的点击位置的下标显示相应的fragment
            tabHost.setCurrentTab(currentlayout);
        }
    
        private void setFragment() {
            // 通过组件的id初始化tabHost的实例
            tabHost = (TabHost) findViewById(R.id.tabhost);
            tabHost.setup();
            // tabWidget = tabHost.getTabWidget();
            // 往tabHost分别添加fragment
            tabHost.addTab(tabHost
                    .newTabSpec("main_social")
                    .setIndicator(
                            "动态",
                            this.getResources().getDrawable(
                                    R.drawable.checkbox_full_pressed))
                    .setContent(R.id.frag_social));
            tabHost.addTab(tabHost
                    .newTabSpec("main_geomark")
                    .setIndicator(
                            "联系人",
                            this.getResources().getDrawable(
                                    R.drawable.checkbox_full_pressed))
                    .setContent(R.id.frag_geomark));
            tabHost.addTab(tabHost
                    .newTabSpec("main_timeaxis")
                    .setIndicator(
                            "动态",
                            this.getResources().getDrawable(
                                    R.drawable.checkbox_full_pressed))
                    .setContent(R.id.frag_timeaxis));
    
            tabHost.addTab(tabHost
                    .newTabSpec("main_travel")
                    .setIndicator(
                            "设置",
                            this.getResources().getDrawable(
                                    R.drawable.checkbox_full_pressed))
                    .setContent(R.id.frag_travel));
    
            tabHost.addTab(tabHost
                    .newTabSpec("main_activity")
                    .setIndicator(
                            "设置",
                            this.getResources().getDrawable(
                                    R.drawable.checkbox_full_pressed))
                    .setContent(R.id.frag_activity));
    
            updateTabHost(tabHost);//更新布局样式等
            
            tabHost.setCurrentTab(0);// 设置默认显示布局
        }

    这是关联Fragment和tabWidget点击的方法,此方法放在onCreate方法内~

  • 相关阅读:
    二叉树知识拓展
    【2014年鄞州区】小幸福(e.pas/c/cpp)
    【2017年常州市】小X与队列 (queue)
    【2018年南海区甲组】扑克游戏(poker)
    【2018年南海区甲组】拆除桥墩(remove)
    【NOIP普及组模拟赛3】投影(skyline)
    常用正则表达式
    asp.net访问母版页控件方法
    C#文件读写操作
    C#读取csv格式文件
  • 原文地址:https://www.cnblogs.com/huangsheng/p/3346326.html
Copyright © 2020-2023  润新知