您的位置:首页 > 移动开发 > Android开发

学习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不加修饰的话丑的不要不要的。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息