zoukankan      html  css  js  c++  java
  • Android——TabWidget

    1、activity_tabwidget.xml

    <?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:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </TabWidget>

            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >

                <TextView
                    android:id="@+id/tb_tv1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="This is the first tab" />

                <TextView
                    android:id="@+id/tb_tv2"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="This is another tab" />

                <TextView
                    android:id="@+id/tb_tv3"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="This is the third tab" />
            </FrameLayout>
        </LinearLayout>

    </TabHost>

    2、TabWidgetActivity.java

    public class TabWidgetActivity extends TabActivity {
        // 声明TabHost对象
        TabHost tabHost;

        @SuppressWarnings("deprecation")
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_tabwidget);
            try {

                // 取得TabHost对象
                tabHost = getTabHost();
                /* 为TabHost添加标签 */
                // 新建一个newTabSpec(newTabSpec)
                // 设置其标签和图标(setIndicator)
                // 设置内容(setContent)
                tabHost.addTab(tabHost
                        .newTabSpec("tab_test1")
                        .setIndicator("TAB1",
                                getResources().getDrawable(R.drawable.button1))
                        .setContent(R.id.tb_tv1));
                tabHost.addTab(tabHost
                        .newTabSpec("tab_test2")
                        .setIndicator("TAB2",
                                getResources().getDrawable(R.drawable.button2))
                        .setContent(R.id.tb_tv2));
                tabHost.addTab(tabHost.newTabSpec("tab_test3").setIndicator("TAB3",
                        getResources().getDrawable(R.drawable.button3)).setContent(R.id.tb_tv3));
            
            // 设置TabHost的背景颜色
            tabHost.setBackgroundColor(Color.argb(150, 22, 70, 150));
            // 设置TabHost的背景图片资源
            tabHost.setBackgroundResource(R.drawable.ic_launcher);
            // 设置当前显示那一个标签
            tabHost.setCurrentTab(0);
            } catch (Exception e) {
                e.printStackTrace();
            }
            // 标签切换事件处理
            tabHost.setOnTabChangedListener(new OnTabChangeListener() {

                @Override
                public void onTabChanged(String tabId) {
                    Dialog dialog = new AlertDialog.Builder(TabWidgetActivity.this)
                            .setTitle("提示")
                            .setMessage("当前选中" + tabId + "标签")
                            .setPositiveButton("确定",
                                    new DialogInterface.OnClickListener() {

                                        @Override
                                        public void onClick(DialogInterface dialog,
                                                int whichButton) {
                                            dialog.cancel();
                                        }
                                    }).create();
                    dialog.show();
                }
            });

        }
    }

  • 相关阅读:
    02 小白新一天
    集合排序
    匿名内部类-Lambda表达式
    设计模式之适配器设计
    设计模式之代理设计
    设计模式之工厂设计
    依赖倒转原则
    多态及练习题
    在一个类中调用另外一个类
    对象的三大特性之封装
  • 原文地址:https://www.cnblogs.com/Defry/p/4423640.html
Copyright © 2011-2022 走看看