当然具体实现又会有很多方式,我们本期就先来学习最简单的Tab切换吧,有一点类似于之前了解的TabHost。...PagerTabStrip在效果上包含了PagerTitleStrip。...二、自定义实现 上面我们使用了系统自带的控件来完成Tab显示,可能有的同学已经发现其与TabHost还是有一定的差别的,上面的Tab只显示3个,而且也不能完全满足实际需求,就需要我们自定义来实现了...scrolling:只保存滚动效果绘图缓存。 all:所有的绘图缓存都应该保存在内存中。...修改程序启动的Activity,运行程序,然后左右滑动屏幕或点击Tab标签,可以看到下图所示界面效果。 通过上面的学习,是不是发现开发一个这样的漂亮界面其实非常简单。
tabHost=getTabHost();//(TabHost)this.findViewById(R.id.tabHost); 17 //设置TabHost布局 18...(R.id.tab1)); 21 //添加第2个标签页 22 tabHost.addTab(tabHost.newTabSpec("tab02").setIndicator...ListActivity,TabHost必须设置为@android:id/tabhost 2、TabWidget必须设置android:id为@android:id/tabs 3、FrameLayout...需要设置android:id为@android:id/tabcontent 第二种:只是单纯的继承Activity类 布局文件 和上面一样 只是TabHost 的id 换为 tabHost = (TabHost...)findViewById(R.id.m_tabhost); //如果通过findViewById得到TabHost一定要调用 TabHost.setup(); LocalActivityManagerlocalAcManager
TabHost是标签控件类的核心类,也是标签的集合。 1.tabhost定义 android控件中有封装好的tab控件,直接拖一个到xml文件中。下面的代码都是tab控件自己生成的。...> 60 61 在后台,可以通过tabhost.addtab方法添加分页。...1 TabHost tabhost=this.getTabHost(); 2 LayoutInflater.from(this).inflate(R.layout.activity_main...,tabhost.getTabContentView(),true); 3 tabhost.addTab(tabhost.newTabSpec("tab1").setIndicator(..."拨号").setContent(new Intent(this,MyGallery.class))); 4 tabhost.addTab(tabhost.newTabSpec("tab2
image.png 目录 TabHost TabHost实现Tab切换, 实现类似通话记录界面的切换效果....使用方式: 从TabActivity中用getTabHost()方法获取TabHost,然后设置标签内容 布局: TabHost必须设置android:id为@android:id/tabhost TabWidget...tab = (TabHost) findViewById(android.R.id.tabhost); //初始化TabHost容器 tab.setup();...tab.addTab(tab.newTabSpec("tab3").setIndicator("呼出通话" , null).setContent(R.id.tab3)); } } 运行效果...: image.png 参考 Android选项卡TabHost功能和用法
但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140 版本 新浪微博 weibo_10235010.apk 正文 一、效果图...> <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height=...注意为单选按钮设置的style,其中最重要的是为其background设置了home_btn_bg.xml,也就是自定义了选中效果。...三、总结 在这之前如果要做这种效果我恐怕第一时间就会想到用ActivityGroup来做,主要是因为TabHost的TabWidget非常难看,用起 来也不方便。...其实从源码可以看出,TabActivity也是继承自ActivityGroup,这里结合了单选按钮和TabHost,各取其长,有时间 可以专门写一个这样的自定义控件:) 四、相关文章 [Android]
Android UI控件系列:TabWidget(切换卡) Tab选项卡类似与电话本的界面,通过多个标签切换不同的内容,要实现这个效果,首先要知道TabHost,它是一个用来存放多个Tab标签的容器,每一个...Tab都可以对应自己的布局,比如,电话本中的Tab布局就是一个线性布局 要使用TabHost,首先要通过getTabHost方法获取TabHost的对象,然后通过addTab方法来向TabHost中添加...extends TabActivity { /** Called when the activity is first created. */ TabHost tabhost;...//设置其标签和图标(setIndicator) //设置内容(setContent) tabhost.addTab(tabhost.newTabSpec("tab1")...> 运行效果如下: ?
实现 我们想实现的效果是点击切换的选项卡卡部分,主显示区的内容随之改变。...> 如上面的代码所示: 整个窗体在一个TabHost元素下。...TabHost是根元素。他包含了一个子布局对象LinearLayout,这个布局对象的方向为“vertical”,注意这个垂直方向。...如果想实现“选项卡标签在底部的效果”,尝试下relativeLayout吧。 TabWidget 就是标签卡对象。就是用来切换的那个顶部标签卡。...TabHost _tabHost; /** Called when the activity is first created. */ @Override public void onCreate(
无法显示TabHost 2. 添加图片 + 文字 无法同时 3. 说在最后:点击事件 4....底部导航无法实现 现在 从问题出发: 问题一:无法显示 TabHost 很多人调用TabHost的方法是: setContentView(R.layout.activity_main); tabHost...问题三:添加监听事件 这个无脑 只要 id 匹配就行了,直接上代码: tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener(){...附上布局与实现: 布局: 实现: public class MainActivity extends TabActivity { TabHost tabHost; @Override...问题四:底部导航效果无法实现 底部导航的参见方法是把TabWidget放在FrameLayout后面,但是啧啧。。。
选项卡(TabHost)方便的在窗口上设置多个标签页,每个标签页相当于获得一个与外部容器相同大小的组件摆放区域 通过这种方式,可以在一个容器中放置多组件。...tabHost = getTabHost(); 20 TabHost.TabSpec spec; 21 /* 22 * 对方法的解释: 23...("toggle"); 46 //设置第一次打开的默认显示的标签,参数代表其添加到标签中的顺序,位置从0开始 47 tabHost.setCurrentTab(1); 48...activity android:name="lianxi.TobHost_lianxi"> 效果图...因为tabHost.setCurrentTab(1); 设置第2个添加的标签项为默认显示,从0开始算) ? ? ?
TabHost效果图 : 源码下载地址 : http://download.csdn.net/detail/han1202012/6845105 一....TabHost介绍 TabHost组件可以在界面中存放多个选项卡, 很多软件都使用了改组件进行设计; 1....TabHost使用步骤 a. 定义布局 : 在XML文件中使用TabHost组件, 并在其中定义一个FrameLayout选项卡内容; b....TabHost布局文件 1..../tabhost" ; getHost()获取前提 : 设置了该id之后, 在Activity界面可以使用 getHost(), 获取这个TabHost 视图对象; 示例 : <TabHost
布局文件中定义TabLayout控件 (2)、定义切换的每个Fragment布局文件 (3)、定义切换的每个Fragment的Java类 (4)、定义TabLayoutMainActivity类 (5)、效果图演示...CharSequence getPageTitle(int position) { return title[position]; } } } (5)、效果图演示...定义切换的每个Fragment布局文件 (4)、定义切换的每个Fragment的Java类 (5)、切换按钮的图片 (6)、定义FragmentTabHostMainActivity类 (7)、效果图演示...for (int i = 0; i < count; i++) { //设置每个TabHost布局 TabHost.TabSpec tabSpec = tabHost.newTabSpec...@Override public int getCount() { return list.size(); } } } (7)、效果图演示
布局文件中定义TabLayout控件 (2)、定义切换的每个Fragment布局文件 (3)、定义切换的每个Fragment的Java类 (4)、定义TabLayoutMainActivity类 (5)、效果图演示...title.length; } @Override public CharSequence getPageTitle(int position) { return title[position]; } } } (5)、效果图演示...定义切换的每个Fragment布局文件 (4)、定义切换的每个Fragment的Java类 (5)、切换按钮的图片 (6)、定义FragmentTabHostMainActivity类 (7)、效果图演示...(i)); //item与fragment关联 tabHost.addTab(tabSpec, fragmentArry[i], null); tabHost.setTag(i); } //初始化TabHost...position) { return list.get(position); } @Override public int getCount() { return list.size(); } } (7)、效果图演示
今天要实现的效果图如下: ? 整体结构是MainActivity+5个模块的Fragment. MainActivity的布局如下: <?...--tabhost,必须使用系统的id-- <android.support.v4.app.FragmentTabHost android:id="@android:id/<em>tabhost</em>"...FragmentTabHost tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); //绑定tabContent tabHost.setup...(R.color.bgColor)); } //默认选中第一个tab tabHost.setCurrentTab(0); //设置tab的切换监听 tabHost.setOnTabChangedListener...(new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId) { //可以在这里监听tab的切换
一、TabHost概述 TabHost是一种非常实用的组件,TabHost可以很方便地在窗口上放置多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域。...调用 TabActivity 的 getTabHost()方法获取 TabHost 对象。 通过TabHost对象的方法来创建、添加选项卡。...除此之外,TabHost还提供了一些方法来获取当前选项卡。如果程序需要监控TabHost里当前标签页的改变,则可以为它设置 TabHost.OnTabChangeListener 监听器。...修改启动的Activity,运行程序,可以看到下图所示界面效果。 ? 点击标签,可以切换显示的内容。...运行修改后的程序,最终效果同继承TabActivity一样。 有木有发现这个界面很不美观,所以在实际开发中经常会借用RadioButton来定制TabHost。
本文实例分析了Android开发之TabHost选项卡及相关疑难解决方法。...底部导航无法实现 现在 从问题出发: 问题一:无法显示 TabHost 很多人调用TabHost的方法是: setContentView(R.layout.activity_main); tabHost...问题三:添加监听事件 这个无脑 只要 id 匹配就行了,直接上代码: tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener(){...<TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost"...问题四:底部导航效果无法实现 底部导航的参见方法是把TabWidget放在FrameLayout后面,但是啧啧。。。
= (TabHost) findViewById(R.id.tabhost); tabHost.setup(); //setContent()为声明内容 tabHost.addTab(tabHost.newTabSpec...("tabTime").setIndicator("时钟").setContent(R.id.tabTime)); tabHost.addTab(tabHost.newTabSpec("tabAlarm...").setIndicator("闹钟").setContent(R.id.tabAlarm)); tabHost.addTab(tabHost.newTabSpec("tabTimer").setIndicator...("计时器").setContent(R.id.tabTimer)); tabHost.addTab(tabHost.newTabSpec("tabStopWatch").setIndicator("...onDestroy() { super.onDestroy(); mp.stop(); mp.release(); } private MediaPlayer mp; //音乐播放器 } 运行效果图
前言 现在大部分App底部都有一个菜单,实现这个功能也有好多办法: – TabHost+Fragment – RadioGroup+Fragment – FragmentTabHost+Fragment...– 5.0以后有个新控件,BottomNavigator 这篇主要介绍下FragmentTabHost配合Fragment使用 运行效果图 ?...效果图分析 ? FragmentTabHost简单介绍 首先我们看下官方文档的介绍 ?...app.FragmentTabHost; /** * This demonstrates how you can implement switching between the tabs of a * TabHost...; setContentView(R.layout.fragment_tabs); mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost
tabHost = getTabHost(); tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator...("list") .setContent(new Intent(this, List1.class))); tabHost.addTab(tabHost.newTabSpec...使用 TabHost.TabContentFactory 3. 使用 Intent 启动一个活动 Tab 的另外一种方式是使用 TabHost.TabContentFactory 类。 ?...tabHost = getTabHost(); tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator...("tab2") .setContent(R.id.view2)); tabHost.addTab(tabHost.newTabSpec("tab3")
重要的是,background是底层的图片资源,src是覆盖在background上面的资源,他们可以叠加使用,实现选中的效果。...) TabHost仅仅只是一个简单的容器,它提供如下方法 newTabSpec(String tag) 创建选项卡 addTab(TabHost.TabSpec tabSpec) 添加选项卡 使用TabHost...通过TabHost对象的方法来创建选项卡、添加选项卡 选项卡主要由TabHost、TabWidget、FrameLayout3个组件组成,三者缺一不可,想象一下选项卡的特点,多个卡重叠在一起,所以用FrameLayout...实例: TabHost tabHost = getTabHost();或者findViewById也行,不过后面要有tabHost.setup(); //设置使用TabHost布局 LayoutInflater.from...(this).inflate(R.layout.main, tabHost.getTabContentView(), true); //添加第一个标签页 tabHost.addTab(tabHost.newTabSpec
这个时候更好的体验效果是在Activity中嵌入”小Activity”。然后每个”小Activity”又能够拥有自己的布局。这就是Fragment碎片技术。...= (FragmentTabHost) findViewById(R.id.tab); tabHost.setup(this, getSupportFragmentManager(),...R.id.content); tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Tab1"), MyFragment.class...(tabHost.newTabSpec("tab2").setIndicator("Tab2",getResources().getDrawable(R.drawable.ic_launcher)),...对象,得到TabHost mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); mTabHost.setup
领取专属 10元无门槛券
手把手带您无忧上云