鱼C论坛

 找回密码
 立即注册
查看: 2366|回复: 1

[原创]android学习之TabHost

[复制链接]
发表于 2014-11-23 14:39:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.布局文件的配置:
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:orientation="vertical"
  6.     tools:context=".MainActivity" >
  7.         <TabHost
  8.             android:layout_width="fill_parent"
  9.             android:layout_height="fill_parent"
  10.             android:id="@android:id/tabhost"
  11.             >
  12.             <RelativeLayout
  13.                android:layout_width="fill_parent"
  14.                android:layout_height="fill_parent"
  15.                 >
  16.                 <TabWidget
  17.                 android:layout_width="fill_parent"
  18.                 android:layout_height="60dip"
  19.                 android:id="@android:id/tabs"
  20.                 android:background="#ffccdd"
  21.                     ></TabWidget>
  22.                 
  23.                 <FrameLayout
  24.                     android:layout_width="fill_parent"
  25.                     android:layout_height="fill_parent"
  26.                     android:layout_marginBottom="60dp"
  27.                     android:id="@android:id/tabcontent"
  28.                     ></FrameLayout>
  29.             </RelativeLayout>
  30.         </TabHost>
  31.    
  32. </LinearLayout>
复制代码

2.选项的配置:item.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="wrap_content"
  4.     android:layout_height="wrap_content"
  5.            android:gravity="center"
  6.            android:orientation="vertical"
  7.     >
  8.     <ImageView
  9.         android:id="@+id/iv_opt_item"
  10.         android:layout_width="wrap_content"
  11.         android:layout_height="wrap_content"
  12.         android:src="@drawable/tab1"
  13.         />
  14.     <TextView
  15.         android:id="@+id/tv_opt_name"
  16.         android:layout_width="wrap_content"
  17.         android:layout_height="wrap_content"
  18.         android:text="缓存清理"
  19.         android:textColor="#99000000"
  20.         android:textSize="12sp"
  21.         />

  22. </LinearLayout>
复制代码

3.部分activity布局的配置:activity_m1.xml
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.      android:gravity="center"
  6.    
  7.     >
  8.    <TextView
  9.         android:layout_width="wrap_content"
  10.     android:layout_height="wrap_content"
  11.     android:text="缓存清理"
  12.        ></TextView>

  13. </LinearLayout>
复制代码

4.部分activity布局的载入:M1.java
  1. package com.cb.tabhost;

  2. import com.example.tabhost_test.R;

  3. import android.app.Activity;
  4. import android.os.Bundle;

  5. public class M1 extends Activity {
  6.        
  7.         @Override
  8.         protected void onCreate(Bundle savedInstanceState) {
  9.                 // TODO Auto-generated method stub
  10.                 super.onCreate(savedInstanceState);
  11.                 setContentView(R.layout.activity_m1);
  12.         }

  13. }
复制代码

5.主程序功能的实现: MainActivity.java

  1. package com.example.tabhost_test;

  2. import com.cb.tabhost.M1;
  3. import com.cb.tabhost.M2;
  4. import com.cb.tabhost.M3;

  5. import android.os.Bundle;
  6. import android.app.Activity;
  7. import android.app.TabActivity;
  8. import android.content.Intent;
  9. import android.view.Menu;
  10. import android.view.View;
  11. import android.widget.ImageView;
  12. import android.widget.TabHost;
  13. import android.widget.TabHost.TabSpec;
  14. import android.widget.TextView;

  15. public class MainActivity extends TabActivity {

  16.         @Override
  17.         protected void onCreate(Bundle savedInstanceState) {
  18.                 super.onCreate(savedInstanceState);
  19.                 setContentView(R.layout.activity_main);
  20.                
  21.                 TabHost myTabHost = getTabHost();
  22.                
  23.                 TabSpec tab1 = myTabHost.newTabSpec("缓存清理");
  24.                 tab1.setIndicator(getIndicatorView("缓存清理", R.drawable.tab1));
  25.                 tab1.setContent(new Intent(this, M1.class));
  26.                
  27.                 TabSpec tab2 = myTabHost.newTabSpec("sdcard清理");
  28.                 tab2.setIndicator(getIndicatorView("sdcard清理", R.drawable.tab2));
  29.                 tab2.setContent(new Intent(this, M2.class));
  30.                
  31.                 TabSpec tab3 = myTabHost.newTabSpec("开机加速");
  32.                 tab3.setIndicator(getIndicatorView("开机加速", R.drawable.tab3));   
  33.                 tab3.setContent(new Intent(this, M3.class));   //这个是底下要显示的界面
  34.                 //将各项加入到tabHost里面
  35.                 myTabHost.addTab(tab1);   
  36.                 myTabHost.addTab(tab2);
  37.                 myTabHost.addTab(tab3);
  38.                 myTabHost.setCurrentTab(0);   //设置当前默认的显示位置是第一位
  39.         }

  40.         //这个返回的是一个转化后的布局文件
  41.         public View getIndicatorView(String name, int id)
  42.         {
  43.                 View view = View.inflate(this, R.layout.item, null);
  44.                 TextView tv = (TextView) view.findViewById(R.id.tv_opt_name);
  45.                 ImageView iv = (ImageView) view.findViewById(R.id.iv_opt_item);
  46.                
  47.                 tv.setText(name);
  48.                 iv.setImageResource(id);
  49.                 return view;
  50.         }
  51. }
复制代码

QQ截图20141123140823.png




tabhost_test.zip

1.19 MB, 下载次数: 0

源码

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
拈花小仙 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-1-9 13:17:20 | 显示全部楼层
菜鸟表示看不懂。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 02:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表