`
wenzongliang
  • 浏览: 466774 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

android tab 实现

 
阅读更多

一、TabActivity 实现

布局id与结构

TabHost(id不可变,不是继承的TabActivity 可变)(下不能有第二个子控件)
       LinearLayout(id不可变必须使用系统默认的id)(下可加其他布局必须有下面两个)
             TabWidget(id不可变必须使用系统默认的id)
             FrameLayout(id不可变必须使用系统默认的id)

 

TabHost(id不可变(id不可变,不是继承的TabActivity 可变)(下不能有第二个子控件)
       LinearLayout(id不可变必须使用系统默认的id)(下可加其他布局必须有下面两个)
             TabWidget(id不可变必须使用系统默认的id)
             FrameLayout(id不可变必须使用系统默认的id)

 

获得TabHost和设置tab和content(可以view id,TabContentFactory(创建一个view),Intent(Activity跳转))

1.MyActivity继承的是Activity

mTabHost = (TabHost) findViewById(android.R.id.tabhost);

mTabHost.setup();

//如果用intent    

//LocalActivityManager(过时了)    

//LocalActivityManager mLocalActivityManager = new LocalActivityManager(this, false);

//mLocalActivityManager.dispatchCreate(savedInstanceState);

//mTabHost.setup(mLocalActivityManager); 

 

mTabHost.addTab(tabHost.newTabSpec("one").setIndicator("tab1") 
                .setContent(new Intent(this, FirstActivity.class)));  

 

2.MyActivity继承的是ActivityGroup(过时了)

mTabHost = (TabHost) findViewById(android.R.id.tabhost);

mTabHost.setup();

//如果用intent        

// mTabHost.setup(this.getLocalActivityManager())

 

mTabHost.addTab(tabHost.newTabSpec("one").setIndicator("tab1") 
                .setContent(new Intent(this, FirstActivity.class)));  

 

3.MyActivity继承的是TabActivity(过时了)

tabhost = getTabHost();

mTabHost.addTab(tabHost.newTabSpec("one").setIndicator("tab1") 
                .setContent(new Intent(this, FirstActivity.class)));  

 

二、ActivityGroup 实现

radiobutton作为标签,某一个布局作为内容。关键代码

tabContentView.removeAllViews();
tabContentView.addView(getLocalActivityManager().startActivity("two",new Intent(MainView.this, TwoView.class))

 

TabActivity可以用某一视图作为内容,也可用一个Activity作为内容,ActivityGroup用一个Activity作为内容。TabActivity,ActivityGroup用Activity作为内容是,内容activity在创建之后切换页的时候只执行onPause 和 onResume。附件是两种实现。

 

 

三、Fragment实现tab

用radiobutton做标签,一个布局做内容容器关键代码

      FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction();
      fragmentTransaction.add(R.id.container, placeholderFragement);

      fragmentTransaction.replace(R.id.content, fragment);
      fragmentTransaction.commit();

切换tab fragment执行ondestroyview onstop onpause oncreateview onstart onresume

 

附件有代码

分享到:
评论

相关推荐

    Android Tab实现源码

    本文将深入解析"Android Tab实现源码",并关注"RaisedCenterTab"这一特定实现方式,它提供了正常、按下以及选中状态的炫酷视觉效果。 首先,我们来理解Android中的Tab布局。TabHost是Android SDK提供的一种原生组件...

    Android tab的实现

    "Android tab的实现"这个主题主要是关于如何在Android应用中创建和管理Tab来提供多页面导航。通常,我们可以使用Android的TabHost、ActionBar(在API 11及以上版本)或ViewPager配合Fragment来实现Tab功能。下面将...

    Android tab 实现子Activity跳转

    参考了网上大虾们的例子,实现了tab 中的子Activity跳转,并且带有动画效果;这里没有抽取动画作为参数,也可以定制自己的跳转动画;tab bar 的外观可以自己定制,将自带的tab隐藏,控制自定义的view调用tab的动作就...

    android实现两层tab嵌套

    3. `TabLayout`配合`PagerAdapter`:`TabLayout`是Android Design Support Library的一部分,用于展示Tab,与`ViewPager`结合可以实现Tab的可视化切换效果。`PagerAdapter`是`ViewPager`的数据适配器,负责为每个Tab...

    android tab选项卡功能实现

    通过查看和学习这个代码,你不仅可以了解Tab选项卡的基本实现,还能进一步掌握Android中的活动(Activity)、意图(Intent)和Fragment的使用。通过实践,你将能更好地理解和运用这些知识,创造出更丰富的用户界面。

    android实现自定义tab页

    在Android应用开发中,创建自定义的Tab页可以极大地提升用户体验和界面的个性化。本教程将深入探讨如何利用RadioButton实现非源生风格的Tab页,而不是依赖于原生的TabHost或ViewPager。以下是对这个主题的详细讲解:...

    Android滚动多TAB悬浮头效果

    总的来说,实现“Android滚动多TAB悬浮头效果”需要深入理解Android设计支持库的组件以及它们之间的交互。通过巧妙地组合和配置`CoordinatorLayout`、`AppBarLayout`和`CollapsingToolbarLayout`,开发者可以创建出...

    android viewpager实现微信tab切换

    通过以上步骤,你就可以在Android应用中实现类似微信的Tab切换功能了。`ViewPager` 提供了流畅的滑动体验,而`Fragment` 则让每个Tab具有独立的功能和状态管理能力。记得根据实际需求调整Tab的数量和内容,以及...

    Android Tab 页面的使用范例

    本示例将详细解释如何在Android应用中实现Tab页面,尤其适合初学者入门。 一、Android Tab布局基础 Tab布局主要依赖于`TabHost`和`TabWidget`组件,但在现代Android开发中,我们更倾向于使用`TabLayout`结合`...

    android七种tab demo

    本项目“android七种tab demo”提供了一个新手学习Android Tab实现的绝佳资源,涵盖了多种实现方式。下面我们将详细探讨这七种Tab实现方法及其相关知识点。 1. **使用TabHost** TabHost是Android早期版本中的一个...

    android Tab 在右侧

    在Android开发中,"android Tab 在右侧"通常指的是在应用界面上实现Tab布局,而这些Tab位于屏幕的右侧,而非常见的左侧。这种设计可以提供独特的用户体验,尤其在适应不同文化习惯或者界面创新时可能会被采用。下面...

    Android滑动切换tab(切换带动画)

    本教程将深入探讨如何在Android应用中实现带有动画效果的滑动切换Tab功能。 首先,我们需要理解Tab的基本概念。在Android中,Tab通常用于展示多个相关但互不干扰的视图,用户可以通过滑动或者点击Tab标签来切换不同...

    ViewPagerTabDemo实现Android Tab切换菜单

    在Android应用开发中,创建一个用户友好的界面是至关重要的,而Tab切换菜单就是实现这一目标的常见方式。`ViewPagerTabDemo`是一个示例项目,它演示了如何使用`Fragment`和`ViewPager`来构建这样的功能。下面我们将...

    Android Tab 选项卡

    在本资源"Android Tab 选项卡"中,开发者提供了一个使用`Fragment`实现的Tab切换示例,这对于我们理解和实践Android应用的多视图管理有极大的帮助。 `Fragment`是Android系统中一个重要的组件,它代表了应用UI的一...

    Android tab 栏居中滚动

    总结来说,"Android Tab 栏居中滚动"涉及到`TabLayout`与`ViewPager`的结合使用,自定义Tab视图和滑动事件的处理,以及可能的日期选择功能的实现。通过巧妙地组合和扩展这些组件,开发者可以构建出具有专业视觉效果...

    Android 基于TabLayout实现的TAB页效果 仿今日头条.rar

    Android 基于TabLayout实现的TAB页导航切换效果 仿今日头条底部的TAB选项卡效果,TabLayout与ViewPager结合使用可以达到点击tab更新ViewPager、滑动ViewPager更新Tab的效果。这种效果现在在PC端、移动设备端已经很...

    android tab标签页实现

    Android中通过activity和fragment组合实现的底部tab标签页布局框架,比较实用

Global site tag (gtag.js) - Google Analytics