zoukankan      html  css  js  c++  java
  • Android选项卡TabHost方式实现

    1.布局XML:

    <?xml version="1.0" encoding="utf-8"?>
    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@android:id/tabhost">
        <RelativeLayout 
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <TextView 
                android:id="@+id/bottomtip"
                android:layout_width="match_parent"
                android:layout_height="50dp"            
                android:text="@string/funPageBtn2" 
                android:gravity="center_horizontal|center_vertical" 
                android:layout_alignParentTop="true"
                android:textColor="@android:color/white"
                android:background="@android:color/black" 
            />
            <FrameLayout 
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@android:id/tabs"
                android:layout_below="@+id/bottomtip"
            />
            <TabWidget 
                android:id="@android:id/tabs"   
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:background="@android:color/black" 
            />        
        </RelativeLayout>
    
    </TabHost>

    布局效果理解:

    2.Activity类实现

    package com.test.appdemo1.actlearn;
    
    import com.test.appdemo1.R;
    
    import android.app.TabActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.TabHost;
    import android.widget.TabHost.TabSpec;
    
    @SuppressWarnings("deprecation")
    public class TabOptTopAct extends TabActivity {
    
        private TabHost tabHost;    
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.tabtoplayout);
            initTab();
        }
    
        private void initTab() {
            tabHost = getTabHost();
            TabSpec tabSpec = null;
            Intent  intent = new Intent(this,MainActivity.class);
            //第一个        
            tabSpec = tabHost.newTabSpec("tab1")
                    .setIndicator("首页",getResources().getDrawable(R.drawable.home))
                    .setContent(intent);
            tabHost.addTab(tabSpec);
            
            //第二个        
            intent = new Intent(this,NextActivity.class);
            tabSpec = tabHost.newTabSpec("tab2")
                    .setIndicator("邮件",getResources().getDrawable(R.drawable.mail))
                    .setContent(intent);
            tabHost.addTab(tabSpec);
            
            //第三个    
            intent = new Intent(this,ServiceActDemo.class);
            tabSpec = tabHost.newTabSpec("tab3")
                    .setIndicator("音乐",getResources().getDrawable(R.drawable.music))
                    .setContent(intent);
            tabHost.addTab(tabSpec);
            
            //第四个    
            intent = new Intent(this,FrameLearnLayoutAct.class);
            tabSpec = tabHost.newTabSpec("tab4")
                    .setIndicator("计算",getResources().getDrawable(R.drawable.calc))
                    .setContent(intent);
            tabHost.addTab(tabSpec);
            
            tabHost.setCurrentTab(1);
        }
        
        public void onBackPressed() {
            super.onBackPressed();
            finish();
        }
    }

    最后说明:如果想把选项卡放到顶部只需修改布局文件中RelativeLayout里面的三个元素的位置

    若有问题请大家指正.

    程序运行效果如上图片所示.

  • 相关阅读:
    装饰者模式
    NGUI研究院之三种方式监听NGUI的事件方法(七)
    unity3d连接数据库
    unity3d 连接MSSql
    Unity3D之游戏架构脚本该如何来写
    WCF 部署问题 小总结 (HTTP 不能注册的解决方法)
    Prototype
    web.config文件之自定义错误节
    asp:DropDownList与asp:DataList的联合使用
    剑指offer --合并链表
  • 原文地址:https://www.cnblogs.com/coacaio/p/3577646.html
Copyright © 2011-2022 走看看