安卓 ViewPager(PagerTitleStrip和PagerTabStrip)

ViewPager之PagerTitleStrip和PagerTabStrip

//agerTabStrip代码如下:
效果图
在这里插入图片描述

// An highlighted block
public class PagerTabStripMainActivity extends AppCompatActivity {
    ViewPager viewPager;
    List<ImageView> data = new ArrayList<>();
    int[] images ={R.mipmap.xiaofangzi,R.mipmap.sousuowendang,R.mipmap.faxian,R.mipmap.gouwuche,R.mipmap.wo};
    MyAdapter myAdapter;
    String[] strs = {"首页","分类","发现","购物车","我"};
    PagerTabStrip pagerTabStrip;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pager_tab_strip_main);

        viewPager = findViewById(R.id.pager);
        pagerTabStrip = findViewById(R.id.tiltle);

        pagerTabStrip.setDrawFullUnderline(false);//设置是否显示下划线 , false  不显示
        pagerTabStrip.setBackgroundColor(Color.YELLOW);//设置PagerTabStrip背景色
        pagerTabStrip.setTabIndicatorColor(Color.RED);//设置下划线颜色


        for (int i= 0;i<images.length;i++){
            ImageView iv = new ImageView(this);
            iv.setImageResource(images[i]);
            data.add(iv);
        }

        myAdapter = new MyAdapter();
        viewPager.setAdapter(myAdapter);

    }

    public  class MyAdapter extends PagerAdapter {

        @Override
        public int getCount() {
            return data.size();
        }

        @Override
        public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
            return view == o;
        }

        @NonNull
        @Override
        public Object instantiateItem(@NonNull ViewGroup container, int position) {
            container.addView(data.get(position));
            return data.get(position);
        }

        @Override
        public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
            container.removeView(data.get(position));
        }

        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return strs[position];
        }
    }
}

//布局文件

// An highlighted block
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".PagerTabStripMainActivity">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.v4.view.PagerTabStrip
            android:id="@+id/tiltle"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_gravity="bottom"
            ></android.support.v4.view.PagerTabStrip>
    </android.support.v4.view.ViewPager>

</LinearLayout>

PagerTitleStrip

效果图:
在这里插入图片描述

// An highlighted block
public class PagerTitleStripMainActivity extends AppCompatActivity {
    ViewPager viewPager;
    List<ImageView> data = new ArrayList<>();
    int[] images ={R.mipmap.xiaofangzi,R.mipmap.sousuowendang,R.mipmap.faxian,R.mipmap.gouwuche,R.mipmap.wo};
    MyAdapter myAdapter;
    String[] strs = {"首页","分类","发现","购物车","我"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pager_title_strip_main);

        viewPager = findViewById(R.id.pager);

        for (int i= 0;i<images.length;i++){
            ImageView iv = new ImageView(this);
            iv.setImageResource(images[i]);
            data.add(iv);
        }

        myAdapter = new MyAdapter();
        viewPager.setAdapter(myAdapter);

    }

    public  class MyAdapter extends PagerAdapter{

        @Override
        public int getCount() {
            return data.size();
        }

        @Override
        public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
            return view == o;
        }

        @NonNull
        @Override
        public Object instantiateItem(@NonNull ViewGroup container, int position) {
            container.addView(data.get(position));
            return data.get(position);
        }

        @Override
        public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
            container.removeView(data.get(position));
        }

        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return strs[position];
        }
    }

}

//布局文件

// An highlighted block
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".PagerTitleStripMainActivity">
    
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <android.support.v4.view.PagerTitleStrip
            android:id="@+id/tiltle"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_gravity="bottom"
            ></android.support.v4.view.PagerTitleStrip>
    </android.support.v4.view.ViewPager>



</LinearLayout>

DialogFragment和ListFragment

java代码

// An highlighted block
public class ListFragmentActivity extends AppCompatActivity {
    FrameLayout frameLayout;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_fragment);


        frameLayout = findViewById(R.id.fl3);

        FragmentManager manager = getSupportFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        MyFragmnet1 myFragmnet1 = new MyFragmnet1();
        MyFragment2 myFragment2 = new MyFragment2();


        transaction.add(R.id.fl1,myFragmnet1);
        transaction.add(R.id.fl2,myFragment2);


        transaction.commit();

        frameLayout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MyFragment3 myFragment3 = new MyFragment3();
                myFragment3.show(getSupportFragmentManager(),"aaa");
            }
        });


    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值