zoukankan      html  css  js  c++  java
  • 团队冲刺第三天

    今天进行了新闻各个分类的设计,主要是用技术是viewpage和tablayout。

    通过使用viewpage和tablayout来实现各个分类之间的滑动。

    import android.app.Activity;
    import android.graphics.Color;
    import android.net.Uri;
    import android.os.Bundle;
    
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.fragment.app.Fragment;
    import androidx.fragment.app.FragmentManager;
    import androidx.fragment.app.FragmentPagerAdapter;
    import androidx.viewpager.widget.PagerAdapter;
    import androidx.viewpager.widget.ViewPager;
    
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.view.Window;
    
    import com.google.android.material.tabs.TabLayout;
    
    
    public class TabLessActivity extends Fragment {
        private TabLayout tabLayout = null;
    
        private ViewPager viewPager;
    
        private Fragment[] mFragmentArrays = new Fragment[9];
    
        private String[] mTabTitles = new String[9];
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
    
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            //这个修改为对应子Fragment和父Fragment的布局文件
            View view = inflater.inflate(R.layout.tab_layout,null);
            tabLayout = (TabLayout) view.findViewById(R.id.tablayout);
            viewPager = (ViewPager) view.findViewById(R.id.tab_viewpager);
            initView();
            return view;
        }
        private void initView() {
            mTabTitles[0] = "推荐";
            mTabTitles[1] = "热点";
            mTabTitles[2] = "科技";
            mTabTitles[3] = "体育";
            mTabTitles[4] = "健康";
            mTabTitles[5] = "财经";
            mTabTitles[6] = "娱乐";
            mTabTitles[7] = "美食";
            mTabTitles[8] = "政法";
            tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
            //设置tablayout距离上下左右的距离
            //tab_title.setPadding(20,20,20,20);
            mFragmentArrays[0] = TabFragment.newInstance();
            mFragmentArrays[1] = TabFragment.newInstance();
            mFragmentArrays[2] = TabFragment.newInstance();
            mFragmentArrays[3] = TabFragment.newInstance();
            mFragmentArrays[4] = TabFragment.newInstance();
            mFragmentArrays[5] = TabFragment.newInstance();
            mFragmentArrays[6] = TabFragment.newInstance();
            mFragmentArrays[7] = TabFragment.newInstance();
            mFragmentArrays[8] = TabFragment.newInstance();
            PagerAdapter pagerAdapter = new MyViewPagerAdapter(getFragmentManager());
            viewPager.setAdapter(pagerAdapter);
            //将ViewPager和TabLayout绑定
            tabLayout.setupWithViewPager(viewPager);
        }
        final class MyViewPagerAdapter extends FragmentPagerAdapter {
            public MyViewPagerAdapter(FragmentManager fm) {
                super(fm);
            }
    
            @Override
            public Fragment getItem(int position) {
                Bundle bundle=new Bundle();
                bundle.putInt("shuju",position);
                mFragmentArrays[position].setArguments(bundle);
                return mFragmentArrays[position];
            }
            @Override
            public int getCount() {
                return mFragmentArrays.length;
            }
            @Override
            public CharSequence getPageTitle(int position) {
                return mTabTitles[position];
    
            }
        }
        @Override
        public void onPause() {
            super.onPause();
        }
    

     采用了Activity中调用Fragment,Fragment中嵌套Fragment的方法,

    明天会对每个分类中的内容进行设计

    作者:哦心有
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    C51 使用端口 个人笔记
    C51 静态数码管 个人笔记
    C51 矩阵按键 个人笔记
    C51 蜂鸣器 个人笔记
    C51 独立按键 个人笔记
    C51 中断 个人笔记
    CC3200 TI 笔记
    iar修改包含路径的方法
    WCF绑定和行为在普通应用和SilverLight应用一些对比
    用批处理来自动化项目编译及部署(附Demo)
  • 原文地址:https://www.cnblogs.com/haobox/p/14879759.html
Copyright © 2011-2022 走看看