国际惯例先上图:


tabhost布局文件,注意tabhost,tabcontent和tabs这三个id一定要正确

<?xml version="1.0" encoding="utf-8"?><TabHost xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@android:id/tabhost"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <RelativeLayout android:orientation="vertical"          android:layout_width="match_parent"         android:layout_height="match_parent">    <FrameLayout android:id="@android:id/tabcontent"              android:layout_width="match_parent"             android:layout_height="match_parent" />    <TabWidget android:id="@android:id/tabs"        android:layout_width="match_parent"    android:layout_height="wrap_content"         android:background="@drawable/selector"        android:layout_alignParentBottom="true">    </TabWidget></RelativeLayout></TabHost>

每一个tab项的布局文件,上面图片下面是文字,

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <ImageView android:id="@+id/tab_iv_icon"        android:layout_width="match_parent"         android:layout_height="28.0dip"         android:scaleType="fitCenter"/><TextView android:id="@+id/tab_tv_text"    android:layout_width="match_parent"     android:layout_height="wrap_content"     android:textSize="12.0sp"     android:textColor="#FFFFFF"    android:ellipsize="marquee"     android:gravity="center"     android:singleLine="true"     android:marqueeRepeatLimit="1"/></LinearLayout>

最后是MainActivity继承自TabActivity

public class MainActivity extends TabActivity {    private TabHost tabHost;    private static final String HOME = "主页";      private static final String REFER = "提及";      private static final String ABOUT = "关于";    private static final String SEARCH = "搜索";      private static final String MORE = "更多"; //内容Intentprivate Intent homeIntent;private Intent referIntent;private Intent aboutIntent;private Intent searchIntent;private Intent moreIntent;    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.tabhost);//设置TabHost使用的布局文件                tabHost=this.getTabHost();        tabHost.setFocusable(true);        prepareIntent();        setupIntent();            }        private void setupIntent(){    tabHost.addTab(buildTabSpec(HOME,R.drawable.icon_1_n, homeIntent));    tabHost.addTab(buildTabSpec(REFER,R.drawable.icon_2_n, referIntent));    tabHost.addTab(buildTabSpec(ABOUT,R.drawable.icon_3_n, aboutIntent));    tabHost.addTab(buildTabSpec(SEARCH,R.drawable.icon_4_n, searchIntent));    tabHost.addTab(buildTabSpec(MORE,R.drawable.icon_5_n, moreIntent));    }private TabSpec buildTabSpec(String tag, int icon, Intent intent) {View view = View.inflate(MainActivity.this, R.layout.tab, null);((ImageView)view.findViewById(R.id.tab_iv_icon)).setImageResource(icon);    ((TextView)view.findViewById(R.id.tab_tv_text)).setText(tag);return tabHost.newTabSpec(tag)        .setIndicator(view)        .setContent(intent);}private void prepareIntent() {homeIntent=new Intent(this, HomeActivity.class);referIntent=new Intent(this, ReferActivity.class);aboutIntent=new Intent(this, AboutActivity.class);searchIntent=new Intent(this,SearchActivity.class);moreIntent=new Intent(this, MoreActivity.class);}}


更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. ADT(Android(安卓)Developer Tools)中配置SVN
  6. Android(安卓)FileInputStream类的使用
  7. Android(安卓)SELinux 一个编译错误
  8. 基于Android(安卓)studio3.6的三角剖分Delaunay之打包jar &调用j
  9. Android(安卓)读取excel (支持 xls和xlsx)

随机推荐

  1. php中array_replace、array_splice与str_
  2. php中常用的正则表达式使用方法
  3. Mac+Apache+PHP安装Xdebug方法步骤
  4. PHP使用递归按层级查找数据(代码详解)
  5. PHP+jQuery开发简单翻牌抽奖的功能(代码实
  6. PHP利用PHPExcel导出数据到Excel
  7. PHP-Curl模拟HTTPS请求(代码实例)
  8. PHP 超全局变量之$_FILES详解
  9. PHP 跨域之header函数(代码示例)
  10. 如何保证消息队列的高可用?