zoukankan      html  css  js  c++  java
  • <Android>tab选项卡

    1.继承TabActivity实现

    a)         在布局文件中使用FrameLayout列出Tab组件及Tab中的内容组件

    b)        Activity要继承TabActivity

    c)         调用TabActivity的getTabHost()方法获得TabHost对象

    d)        通过TabHost创建Tab选项

    public class MainActivity extends TabActivity {
    
        @Override
    
        public void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
    
           /* requestWindowFeature(Window.FEATURE_NO_TITLE);
    
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);*/
    
            TabHost th = getTabHost();
    
            LayoutInflater.from(this).inflate(R.layout.main, th.getTabContentView(), true);
    
            th.addTab(th.newTabSpec("all").setIndicator("所有通话记录").setContent(R.id.TextView01));
    
            th.addTab(th.newTabSpec("ok").setIndicator("已接来电").setContent(R.id.TextView02));
    
            th.addTab(th.newTabSpec("cancel").setIndicator("未接来电").setContent(R.id.TextView03));
    
            th.setOnTabChangedListener(
    
                      new OnTabChangeListener() {
    
                                   @Override
    
                                   public void onTabChanged(String tabId) {
    
                                          Toast.makeText(MainActivity.this, tabId, Toast.LENGTH_LONG).show();
    
                                   }
    
                            }
    
            );
    
        }
    
    }

    2.Tab的内容还可以通过实现一个接口TabHost.TabContentFactory的createTabContent方法来指定

    public class MainActivity extends TabActivity implements
    
              TabHost.TabContentFactory {
    
       /** Called when the activity is first created. */
    
       @Override
    
       public void onCreate(Bundle savedInstanceState) {
    
              super.onCreate(savedInstanceState);
    
              TabHost th = getTabHost();
    
              th.addTab(th.newTabSpec("all").setIndicator("所有通话记录").setContent(this));
    
              th.addTab(th.newTabSpec("ok").setIndicator("已接来电").setContent(this));
    
              th.addTab(th.newTabSpec("cancel").setIndicator("未接来电").setContent(this));
    
       }
    
       public View createTabContent(String tag) {
    
              ListView lv = new ListView(this);
    
              List<String> list = new ArrayList<String>();
    
              list.add(tag);
    
              if(tag.equals("all")){
    
                     list.add("tom");
    
                     list.add("kite");
    
                     list.add("rose");
    
              }else if(tag.equals("ok")){
    
                     list.add("tom");
    
                     list.add("kite");
    
              }else{
    
                     list.add("rose");
    
              }
    
              ArrayAdapter adapter = new ArrayAdapter(this,
    
                            android.R.layout.simple_list_item_checked, list);
    
              lv.setAdapter(adapter);
    
              return lv;
    
       }
    
    }
  • 相关阅读:
    Note/Solution 转置原理 & 多点求值
    Note/Solution 「洛谷 P5158」「模板」多项式快速插值
    Solution 「CTS 2019」「洛谷 P5404」氪金手游
    Solution 「CEOI 2017」「洛谷 P4654」Mousetrap
    Solution Set Border Theory
    Solution Set Stirling 数相关杂题
    Solution 「CEOI 2006」「洛谷 P5974」ANTENNA
    Solution 「ZJOI 2013」「洛谷 P3337」防守战线
    Solution 「CF 923E」Perpetual Subtraction
    KVM虚拟化
  • 原文地址:https://www.cnblogs.com/lshs/p/4421052.html
Copyright © 2011-2022 走看看