Android——java布局代码简单写出标签页

序言:
大家好,我是一位专科学生,目前在自学安卓。写这篇文章不仅是为了与大家一起学习、一起挑错,更是我对知识的一次整理。第一次写,请多多指教。

	先看一下效果图:

Android——java布局代码简单写出标签页_第1张图片
Android——java布局代码简单写出标签页_第2张图片

  • 1.创建工程使得MainActivity 继承 TabActivity(虽然TabActivity在Android4.0的时候过时了,但是相比于Fragment来说,我个人认为实现这个功能比起Fragment要简单)

  • 2.在类中声明TabHost

  • 3.在onCreate方法中删除setContentView(R.id.layout);让我们写出来的布局不显示在这个单一的布局文件上(但这个方法具体是干什么的,目前我也是不是很清楚。)。

  • 4.实例化TabHost。使用getTabHost();

  • 5.使用布局填充器 LayoutInflater.from从 .(本Mainactivity开始).填充样式(被填充的布局文件,获取标签内容视图,true)。
    LayoutInflater.from(MainActivity.this).inflater(R.layout.xxx,TabHost的实例化对象.getTabContentView(),true);

  • 6.添加标签。
    TabHost的实例化对象 .add(TabHost的实例化对象.newTabSpec(“标识”).setIndicator(“第X页”).setContent(R.id.控件/组件的id));

这里有必要说明一些方法
newTabSpec(),用来区分分页
setIndicator(),设置分页的标题
setContent(),设置分页里要显示的组件/控件

java代码:

   import android.app.TabActivity;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.widget.TabHost;
    
    public class MainActivity extends TabActivity {
        TabHost tabHost;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            tabHost = getTabHost();
    
            LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main,tabHost.getTabContentView(),true);
            LayoutInflater.from(MainActivity.this).inflate(R.layout.one,tabHost.getTabContentView(),true);
    
            tabHost.addTab(tabHost.newTabSpec("标识").setIndicator("第一页").setContent(R.id.activity_main));
            tabHost.addTab(tabHost.newTabSpec("标识").setIndicator("第二页").setContent(R.id.second));
        }
    }

XML代码:
activity_main:

    
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/activity_main"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context="com.example.administrator.tabhobst.MainActivity">
        
            <TextView
                android:id="@+id/first"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Hello World!" />
            <TextView
                android:id="@+id/first_1"
                android:layout_marginTop="80dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="这里用布局控件的id" />
        RelativeLayout>

one:

 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:id="@+id/one"
            android:text="这是组件的id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    LinearLayout>

你可能感兴趣的:(Android布局)