开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情.
TabHost基本使用
TabHost官方文档: developer.android.com/reference/a…
TabHost实现Tab切换, 实现类似通话记录界面的切换效果。可以在界面中存放多个选项卡, 很多软件都使用了该组件进行设计。
Tab标签页的使用
1.首先要设计所有的分页的界面布局
2.在分页设计完成后,使用代码建立Tab标签页,并给每个分页添加标识和标题
3.最后确定每个分页所显示的界面布局
每个分页建立一个XML文件,用以编辑和保存分页的界面布局,使用的方法与设计普通用户界面没有什么区别
使用Tab标签页的一般步骤
首先要设计所有的分页的界面布局
Activity继承TabActivity
调用TabActivity的getTabHost()方法获得TabHost对象
通过TabHost创建Tab
一、布局
注意:
TabHost的id必须是tabhost
FrameLayout的id必须是tabcontent
TabWidget的id必须是tabs
将TabWidget放置在FrameLayout之后
TabSpec --> tabhost
二、Activity的装配:
public class MainActivity extends TabActivity {
private TabHost tabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获得tabhost
tabHost = getTabHost();
//生成多个TabSpec,并添加到tabhost中
TabHost.TabSpec tab1 = tabHost.newTabSpec("0");
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_launcher_background);
tab1.setIndicator("信息");
tab1.setContent(R.id.tab1);
//添加
tabHost.addTab(tab1);
}
}
三、总结:
使用TabHost的步骤(必考题)
1.布局文件
1.TabHost,LinearLayout,FrameLayout,Tabwidget 2.Tabhost id = @android:id/tabhost FrameLayout id = @android: id/tabcontent TabWidget id = @android:id/tabs
2.Activity开发
1.继承TabActivity 2.通过getTabhost()获得tabhost对象 3.创建TabSpec TabHost.TabSpec tab1 = tabHost.newTabSpec("0"); 4.为每个tab设置属性 setInXXXX setContent 5.将tab add到tabhost当中
四、编码时遇到的问题
1.java.lang.RuntimeException: Your content must have a TabHost whose id attribute is 'android.R.id.tabhost' 注意事项: