android里实现一个tabhost显示怎么弄?
答案:2 悬赏:40 手机版
解决时间 2021-02-11 16:25
- 提问者网友:謫仙
- 2021-02-10 21:43
看了很多教程,每次做出来都强制关闭了。谁说一下要具体几步,有代码更好
最佳答案
- 五星知识达人网友:行雁书
- 2021-02-10 23:12
Tab标签页是界面设计时经常使用的界面控件,可以实现多个分页之间的快速切换,每个分页可以显示不同的内容,下图是Android系统内置的Tab标签页,点击“呼出/接听键”后出现,用于电话呼出和查看拨号记录、联系人.
Tab标签页的使用
先要设计所有的分页的界面布局
在分页设计完成后,使用代码建立Tab标签页,并给每个分页添加标识和标题
最后确定每个分页所显示的界面布局
每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使用的方法与设计普通用户界面没有什么区别
建立一个“TabDemo”程序,包含三个XML文件,分别为tab1.xml、tab2.xml和tab3.xml,这3个文件分别使用线性布局、相对布局和绝对布局示例中的main.xml的代码,并将布局的ID分别定义为layout01、layout02和layout03
关键代码如下:
10. public void onCreate(Bundle savedInstanceState) {
11. super.onCreate(savedInstanceState);
12. TabHost tabHost = getTabHost();
13. LayoutInflater.from(this).inflate(R.layout.tab1, tabHost.getTabContentView(),true);
14. LayoutInflater.from(this).inflate(R.layout.tab2, tabHost.getTabContentView(),true);
15. LayoutInflater.from(this).inflate(R.layout.tab3, tabHost.getTabContentView(),true);
16. tabHost.addTab(tabHost.newTabSpec("TAB1")
17. .setIndicator("线性布局").setContent(R.id.layout01));
18. tabHost.addTab(tabHost.newTabSpec("TAB2")
19. .setIndicator("绝对布局").setContent(R.id.layout02));
20. tabHost.addTab(tabHost.newTabSpec("TAB3")
21. .setIndicator("相对布局").setContent(R.id.layout03));
22. }
23. }
第8行代码的声明TabDemo类继承与TabActivity,与以往继承Activity不同,TabActivity支持内嵌多个Activity或View
第12行代码通过getTabHost()函数获得了Tab标签页的容器,用以承载可以点击的Tab标签和分页的界面布局。
第13行代码通过LayoutInflater将tab1.xml文件中的布局转换为Tab标签页可以使用的View对象
第16行代码使用addTab()函数添加了第1个分页,tabHost.newTabSpec("TAB1")表明在第12行代码中建立的tabHost上,添加一个标识为TAB1的Tab分页
第17行代码使用setIndicator()函数设定分页显示的标题,使用setContent()函数设定分页所关联的界面布局
在使用Tab标签页时,可以将不同分页的界面布局保存在不同的XML文件中,也可以将所有分页的布局保存在同一个XML文件中
第一种方法有利于在Eclipse开发环境中进行可视化设计,并且不同分页的界面布局在不同的文件中更加易于管理
第二种方法则可以产生较少的XML文件,同时编码时的代码也会更加简洁
Tab标签页的使用
先要设计所有的分页的界面布局
在分页设计完成后,使用代码建立Tab标签页,并给每个分页添加标识和标题
最后确定每个分页所显示的界面布局
每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使用的方法与设计普通用户界面没有什么区别
建立一个“TabDemo”程序,包含三个XML文件,分别为tab1.xml、tab2.xml和tab3.xml,这3个文件分别使用线性布局、相对布局和绝对布局示例中的main.xml的代码,并将布局的ID分别定义为layout01、layout02和layout03
关键代码如下:
10. public void onCreate(Bundle savedInstanceState) {
11. super.onCreate(savedInstanceState);
12. TabHost tabHost = getTabHost();
13. LayoutInflater.from(this).inflate(R.layout.tab1, tabHost.getTabContentView(),true);
14. LayoutInflater.from(this).inflate(R.layout.tab2, tabHost.getTabContentView(),true);
15. LayoutInflater.from(this).inflate(R.layout.tab3, tabHost.getTabContentView(),true);
16. tabHost.addTab(tabHost.newTabSpec("TAB1")
17. .setIndicator("线性布局").setContent(R.id.layout01));
18. tabHost.addTab(tabHost.newTabSpec("TAB2")
19. .setIndicator("绝对布局").setContent(R.id.layout02));
20. tabHost.addTab(tabHost.newTabSpec("TAB3")
21. .setIndicator("相对布局").setContent(R.id.layout03));
22. }
23. }
第8行代码的声明TabDemo类继承与TabActivity,与以往继承Activity不同,TabActivity支持内嵌多个Activity或View
第12行代码通过getTabHost()函数获得了Tab标签页的容器,用以承载可以点击的Tab标签和分页的界面布局。
第13行代码通过LayoutInflater将tab1.xml文件中的布局转换为Tab标签页可以使用的View对象
第16行代码使用addTab()函数添加了第1个分页,tabHost.newTabSpec("TAB1")表明在第12行代码中建立的tabHost上,添加一个标识为TAB1的Tab分页
第17行代码使用setIndicator()函数设定分页显示的标题,使用setContent()函数设定分页所关联的界面布局
在使用Tab标签页时,可以将不同分页的界面布局保存在不同的XML文件中,也可以将所有分页的布局保存在同一个XML文件中
第一种方法有利于在Eclipse开发环境中进行可视化设计,并且不同分页的界面布局在不同的文件中更加易于管理
第二种方法则可以产生较少的XML文件,同时编码时的代码也会更加简洁
全部回答
- 1楼网友:愁杀梦里人
- 2021-02-11 00:19
修改界面里面的button按钮事件里面写:intent intent = new intent(); intent.putextra("some_value",你要传的值); intent.setclass(tabhost.this,chaxun_activity.class); startactivity(intent);
查询界面里面写:intent intent = getintent(); string value = intent.getstringextra("some_value"); if(value == 查询条件等你要比较的内容){执行刷新操作}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯