33-Android标签页

来源:互联网 发布:车辆违章查询软件 编辑:程序博客网 时间:2024/06/07 06:44

/tabhost/res/layout/main.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="@+id/tabhost"    ><LinearLayoutandroid:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"><TabWidgetandroid:layout_width="fill_parent"    android:layout_height="wrap_content"    android:id="@android:id/tabs"  //由系统决定 查询api/><FrameLayoutandroid:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@android:id/tabcontent"  //由系统决定 查询api><LinearLayoutandroid:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/page1">   <TextView   android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="这是第一个标签页"   /></LinearLayout>   <LinearLayoutandroid:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/page2">   <TextView   android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="这是第二个标签页"   /></LinearLayout>    <LinearLayoutandroid:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@+id/page3">   <TextView   android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="这是第三个标签页"   /></LinearLayout></FrameLayout></LinearLayout></TabHost>

自定义标签页/tabhost/res/layout/tab.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  android:background="#FFFFFF"  >  <TextView  android:background="@drawable/tab_bg"  //配置状态显示  android:layout_width="match_parent"  android:layout_height="match_parent"  android:gravity="center"  android:textSize="18sp"  android:textColor="#FFFFFF"  android:layout_marginRight="1dp"  android:id="@+id/name"  /></LinearLayout>

/tabhost/res/drawable/tab_bg.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true" android:drawable="@drawable/bg_selected" /> <!-- pressed -->    <item android:state_selected="true" android:drawable="@drawable/bg_selected" />     <item android:drawable="@drawable/bg_normal" /> <!-- default --></selector>

/tabhost/src/cn/itcast/tabhost/MainActivity.java

package cn.itcast.tabhost;import android.app.Activity;import android.os.Bundle;import android.os.Debug;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.LinearLayout;import android.widget.TabHost;import android.widget.TabHost.TabSpec;import android.widget.TextView;public class MainActivity extends Activity {TabHost tabHost;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);               Debug.startMethodTracing("itcast");//开始数据采集        tabHost = (TabHost) this.findViewById(R.id.tabhost);        tabHost.setup();//找到widget和framelayout,xml中查询api设置id否则找不到                TabSpec tabSpec = tabHost.newTabSpec("page1");        //设置抬头 名称和图片 默认标签页        //tabSpec.setIndicator("首页", getResources().getDrawable(R.drawable.i1));                //自定义标签页        tabSpec.setIndicator(createTabView("首页"));        tabSpec.setContent(R.id.page1); //第一页内容        tabHost.addTab(tabSpec);                tabSpec = tabHost.newTabSpec("page2");       // tabSpec.setIndicator("第二页", getResources().getDrawable(R.drawable.i2));        tabSpec.setIndicator(createTabView("第二页"));        tabSpec.setContent(R.id.page2);        tabHost.addTab(tabSpec);                tabSpec = tabHost.newTabSpec("page3");        //tabSpec.setIndicator("第三页", getResources().getDrawable(R.drawable.i7));        tabSpec.setIndicator(createTabView("第三页"));        tabSpec.setContent(R.id.page3);        tabHost.addTab(tabSpec);                tabHost.setCurrentTab(0);//停留在第一页    }    @Overrideprotected void onDestroy() {Debug.stopMethodTracing();//停止数据采集super.onDestroy();}private View createTabView(String name) {//View tabView = getLayoutInflater().inflate(R.layout.tab, null);LinearLayout linearLayout = new LinearLayout(this);linearLayout.setOrientation(LinearLayout.VERTICAL);linearLayout.setBackgroundColor(0xFFFFFF);TextView textView = new TextView(this);textView.setText(name);textView.setBackgroundResource(R.drawable.tab_bg);textView.setTextColor(0xFFFFFF);textView.setTextSize(18.0f);textView.setGravity(Gravity.CENTER);ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);linearLayout.addView(textView, params);return linearLayout;}}

数据采集以测试性能,一定要sdk权限,在启动和结束activity的时候进行采集sdk目录下traceview工具




0 0
原创粉丝点击