学习Android开发-乐学成语之TabHost控件
2016-06-05 11:32
483 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">开发需要的完整代码就不贴了,CSDN上搜索一大片,顺便给几个传送门:</span>
链接1;链接2;链接3。
在安卓上有这样一个控件,跟SliverLight、Windows中的枢轴(Pivot)差不多,又像是我们平时用的浏览器的页面选项卡差不多——TabHost。
一、先来看xml布局文件,拖入一个TabHost,其有三大主要标签,<TabHost>根标签,<FrameLayout>页面显示标签,<TabWidget>选项卡按钮标签。
这三个标签的id是引用自安卓自带id,一开始我还纳闷跟别的不一样,安卓自带id是不能改变的。在<FrameLayout>中写不写各种“Layout”或者其他控件是没有关系的,因为我们会在后台代码中实现导入页面。<TabWidget>选项卡栏的位置与<FrameLayout>在代码中的位置是有关的,如果<TabWidget>在顶上,那在xml中则把<TabWidget>放到<FrameLayout>上方,反之同理,还有想实现在下方则<TabWidget>中必须要添加属性Weight并设置为1。
二、后台我们需要调用addTab()来使TabHost中的每个Tab显示相应的内容。
(这里贴出的仅仅是主要代码)
String tag; //选项卡的标识
int title_introduction;//选项卡需要显示的字符资源id
int title_icon;//<span style="font-family: Arial, Helvetica, sans-serif;">选项卡需要显示的图片资源id</span>
Class ActivityClass;//需要导入并显示在FrameLayout的Activity页面
private TabHost tabHost; tabHost.addTab(tabHost.newTabSpec(tag).setIndicator(getString(title_introduction),getResources().getDrawable(title_icon)).setContent(new Intent(this,ActivityClass)));
另外,这样方法导入的Activity进入一次后切换到别的选项卡再切换回来不会刷新,需要注意。
三、另外,建议好好美化美化,感觉原生TabHost不加修饰的话丑的不要不要的。。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories