• TabHost的使用


    Android中的选项卡是用TabHost实现的。

    首先,定义TabHost的布局文件:

    <?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="fill_parent"
    	android:layout_height="fill_parent">
    	
    	<LinearLayout android:orientation="vertical" 
    		android:layout_width="fill_parent" android:layout_height="fill_parent">
    		
    		<TabWidget android:id="@android:id/tabs"
    			android:layout_alignParentBottom="true" 
    			android:layout_width="fill_parent"
    			android:layout_height="wrap_content"/>
    
    		<FrameLayout
    		    android:id="@android:id/tabcontent"
    		    android:layout_width="fill_parent"
    		    android:layout_height="fill_parent" />
    
    	</LinearLayout>
    	
    </TabHost>
    

    其中,TabWidget即是选项卡上面的标签,FrameLayout是选项卡的内容。

    在Java类文件中定义如下:

    public class MainActivity extends TabActivity {
    	
    	private TabHost my_tabhost;  
    	private TabWidget my_tabwidget;
    	private int i,k;
    	private TextView tv;
    	
    	private String[] tabMenu = { "系统", "硬件", "操作"}; 
    	private Intent intent0, intent1, intent2;
    	private Intent[] intents = { intent0, intent1, intent2}; 
    	private TabHost.TabSpec tabSpec0, tabSpec1, tabSpec2, tabSpec3;
    	private TabHost.TabSpec[] tabSpecs = { tabSpec0, tabSpec1, tabSpec2, tabSpec3};
    	
    	public static Context mContext;
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
                    // 不要窗体标题
                   requestWindowFeature(Window.FEATURE_NO_TITLE);
                   setContentView(R.layout.activity_main);
    		setContentView(R.layout.activity_main);
    		
    		my_tabhost = getTabHost();
    		
    		intent0 = new Intent(this, system.class);
    		intent1 = new Intent(this, hardware.class);
    		intent2 = new Intent(this, operation.class);
    		
    		tabSpec0 = my_tabhost.newTabSpec("system").setIndicator(tabMenu[0],null).
    				setContent(intent0);
    		tabSpec1 = my_tabhost.newTabSpec("hardware").setIndicator(tabMenu[1],null).
    				setContent(intent1);
    		tabSpec2 = my_tabhost.newTabSpec("operation").setIndicator(tabMenu[2],null).
    				setContent(intent2);
    		
    		my_tabhost.addTab(tabSpec1);
    		my_tabhost.addTab(tabSpec0);
    		my_tabhost.addTab(tabSpec2);
    
         // 设置默认选中的选项卡为第2个 my_tabhost.setCurrentTab(1); } }

    每一个选项卡对应一个Intent,每一个Intent又对应一个类,选中这个选项卡时,就显示对应的类。

    运行结果如下:

  • 相关阅读:
    hibernate 多对多 最佳实践
    世界上速度最快的输入法 Fleksy 为了支持中国
    他们控制的定义-DragButton
    怎么样linux下的目录名的目录,系统用来操作空间
    无形的力量,看得见的手
    如何设置eclipse在默认模式下打开文件
    【比赛组织和共享源代码】那些红卫兵游戏
    [Oracle] 分析功能(1)- 语法
    SAP ABAP第一,两,三代出口型BADI实现 解释的概念
    JSP简单的练习-功能标签
  • 原文地址:https://www.cnblogs.com/mstk/p/3424960.html
Copyright © 2020-2023  润新知