android 标签样式布局,安卓 Tab 标签-利用 TabHost、TabWidget、FrameLayout 啰里八嗦实现 Tab 标签控件...
安卓 Tab 标签-利用 TabHost、TabWidget、FrameLayout 啰里八嗦实现 Tab 标签控件
首先 XML 布局代码
TabHost 是整个 Tab 的外围,TabWidget 是标签头、FrameLayout 是标签内容框。
android:id="@+id/tabHost"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:soundEffectsEnabled="false">
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:id="@+id/tabContent1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:id="@+id/tabContent2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
android:id="@+id/tabContent3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
几个控件的层级如下:TabHostTabWidget
FrameLayoutLinearLayout
LinearLayout
LinearLayout
以下几个控件除了 LinearLayout,其他都必须用上述指定的控件,并且 TabWidget 的 id 必须是:@android:id/tabs,FrameLayout 的 id 必须是:@android:id/tabcontent。擦,写这个控件的人被开除没有啊。
可以看出标签头并没有具体配置,因为它是在代码中配置的。继续看 java 代码。
java 代码m_tabHost = m_view.findViewById(R.id.tabHost);
m_tabHost.setup(); // 如果少了这句,tabHost.setContent 会出错,且 Android Studio 调试状态也不会提示是什么错误
TabHost.TabSpec ts1 = m_tabHost.newTabSpec("tab1");
ts1.setIndicator("基础信息");
ts1.setContent(R.id.tabContent1);
m_tabHost.addTab(ts1);
TabHost.TabSpec ts2 = m_tabHost.newTabSpec("tab2");
ts2.setIndicator("学历教育");
ts2.setContent(R.id.tabContent2);
m_tabHost.addTab(ts2);
TabHost.TabSpec ts3 = m_tabHost.newTabSpec("tab3");
ts3.setIndicator("任职经历");
ts3.setContent(R.id.tabContent3);
m_tabHost.addTab(ts3);
m_tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String s) {
int tabIndex = m_tabHost.getCurrentTab();
}
});
首先 findViewById tabHost,且调用 setup。
其次 newTabSpec,再通过 setIndicator、setContent 指定标签头和标签内容页,最后再 addTab(我觉得安卓设计得真啰嗦)。setIndicator 可以指定 View 实现高级效果,也可以像示例中一样简单地指定文字。
此时点击标签头,会自动切换对应的标签内容页,如果我们要监测事件,可用:setOnTabChangedListener,并通过 getCurrentTab 获取当前标签项。
样式
取消分隔线条:
然后当你要改变 TabWidget 下划线颜色时,会发现要实现这个效果写的代码真是又臭又长。此时你可以改用 TabLayout。请继续阅读下节。
安卓 Tab 标签-利用 TabHost、TabWidget、FrameLayout 啰里八嗦实现 Tab 标签控件
android 标签样式布局,安卓 Tab 标签-利用 TabHost、TabWidget、FrameLayout 啰里八嗦实现 Tab 标签控件...相关推荐
- Android 屏幕适配攻略(四)获取手机屏幕的相关信息 与动态设置控件的大小
Android 屏幕适配攻略(四)获取手机屏幕的相关信息 与动态设置控件的大小 1 动态获取手机屏幕的 屏幕密度与对应像素比例 例如在 320 * 480 尺寸为 3.2 英寸的手机 ,对应的像素密度 ...
- Android仿苹果版QQ下拉刷新实现(一) ——打造简单平滑的通用下拉刷新控件
前言: 因为公司人员变动原因,导致了博主四个月没有动安卓,一直在做IOS开发,如今接近年前,终于可以花一定的时间放在安卓上了.好了,废话不多说,今天我们要带来的效果是苹果版本的QQ下拉刷新.首先看一下 ...
- android 价格排序筛选页面,Android应用开发之基于Popupwindow实现的筛选房源信息等相关的可自由排序控件...
本文将带你了解Android应用开发Android开发基于Popupwindow实现的筛选房源信息等相关的可自由排序控件,希望本文对大家学Android有所帮助. 功能 区分 支持区域二级选择 ...
- Android 第十八课 强大的滚动控件 RecyclerView
步骤: 一.添加依赖库 compile'com.android.support:recyclerview-v7:26.1.0' 二.在activity_mian.xml中,添加RecyclerView ...
- MFC开发IM-第八篇、调整各个控件的上下tab顺序
在资源管理视图中, Ctrl+D 快捷键 改变控件的Tab顺序. 数字小的好像在下层吧(忘记数字小的是上层还是下层了 你自己试试吧.) 把GroupBox放到bmp背景的上层就OK了.
- android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...
AssNineGridView 仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图(可自定义). 写在前面 这是一个九宫格控件,本来是很久之前就写好了,现在才开源出来,也是看了很多优秀 ...
- (转) android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局...
http://blog.csdn.net/bfboys/article/details/52563089 转载于:https://www.cnblogs.com/zhangminghan/p/6182 ...
- android storyboard,iOS中xib与storyboard原理,与Android界面布局的异同
用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML能够理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中基本的布置界面的方式有3种:代码.x ...
- 认识Android(常用布局,控件,四大组件,动画,自定义控件及异常消息处理机制)
目录 一.布局 1.LinearLayout(线性布局): 2.相对布局(RelativeLayout) 3.GridLayout(网格布局) 4.FrameLayout(帧布局): 二.控件 1.T ...
最新文章
- springmvc请求参数获取(自动绑定)的几种方法
- Windows Mobile设备操作演示准备工作小记
- 若依微服务版新建业务模块后提示找不到mapper的解决方法
- vs2017 java sdk_系统无法找到Visual Studio 2017 ASP.NET核心项目
- c#子线程和主线程创建窗体时顶层显示的区别
- 【UIKit】UITableView 3
- 软件构造学习笔记-第十二周
- 这个为生信学习打造的开源Bash教程真香!!(目录更新)!
- 15天掌握Al声纹识别,同盾开启智能风控建模赛训
- Java 中如何实现保留两位小数 — DecimalFormat
- Ubuntu Server Nginx 下配置 mono 下运行 asp.net mvc
- L2-028 秀恩爱分得快
- N81新手入门全攻略——N81常规设置问答篇
- 亚马逊中国发布2015图书排行榜
- 电源输出端串入IN4007,测量正负电压,压降只有0.3v,为什么不是0.7v左右呢?
- 农夫山泉又上热搜,虚假宣传、拒不认错让网友反感至极!
- E4G刷Linux,易视宝E4-G 全志A20 刷机 armlinux ubuntu server 教程
- N76E003 串口ISP如何使用
- 用“找回你”,查找手机号的前身都被注册过些什么……
- HUNER翻译软件测试面试题,外企测试面试常见问题及回答(英文)