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

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

	先看一下效果图:

在这里插入图片描述
在这里插入图片描述

  • 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:

    <?xml version="1.0" encoding="utf-8"?>
        <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:

 <?xml version="1.0" encoding="utf-8"?>
    <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>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值