zoukankan      html  css  js  c++  java
  • 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又对应一个类,选中这个选项卡时,就显示对应的类。

    运行结果如下:

  • 相关阅读:
    web开发之mysql优化总结
    使用webpack构建属于你自己的npm包
    jwt在node中的应用与实践
    zookeeper启动失败解决办法(3.5.7)
    oracle表分区详解
    oracle job
    ORACLE恢复误删的表数据
    go mod使用 踏雪扬尘
    sparkcore 学习 踏雪扬尘
    GO语言基本知识 踏雪扬尘
  • 原文地址:https://www.cnblogs.com/mstk/p/3424960.html
Copyright © 2011-2022 走看看