Android TabLayout、ViewPager实现顶部和底部Tab导航 点击滑动切换Tab页面

本文介绍了如何使用Android Design Library中的TabLayout和ViewPager来创建顶部和底部的Tab导航,并实现点击滑动切换Tab页面。提供了顶部和底部Tab的XML布局示例,以及自定义Tab的实现方法。同时,分享了包含上下导航整合的GitHub资源链接。
摘要由CSDN通过智能技术生成

Android TabLayout、ViewPager实现顶部和底部Tab导航 点击滑动切换Tab页面

android design library提供的TabLayout

android studio 依赖

  compile 'com.android.support:design:23.0.1'

1。顶部

aty

package com.louis.louistablayout4viewpager;

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;
/*
Android Material Design 中的TabLayout有两个比较有用的属性 app:tabMode、app:tabGravity,
(1)app:tabMode有两个值:fixed和scrollable。
(2)app:tabGravity有两个值:fill和center。
比较常用的是app:tabMode设置值scrollable,以及app:tabGravity设置值center。
比如,当app:tabMode设置值scrollable表示此TabLayout中当子view超出屏幕边界时候,将提供滑动以便滑出不可见的那些子view。
而app:tabGravity设置值center,在有些情况下,比如TabLayout中子view较少需要居中显示时候的情景。
 */
public class MainActivity extends AppCompatActivity {

    List<View> views=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        for (int i=0;i<9;i++){
   
            TextView textView=new TextView(this);
            LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
            textView.setLayoutParams(layoutParams);
            textView.setText("页面"+i);
            textView.setGravity(Gravity.CENTER);
            views.add(textView);
        }

        ViewPager viewPager= (ViewPager) findViewById(R.id.id_vp);
        MyPagerAdapter myPagerAdapter=new MyPagerAdapter(views);
        viewPager.setAdapter(myPagerAdapter);

        TabLayout tabLayout= (TabLayout) findViewById(R.id.id_tl);

        tabLayout
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值