• 团队冲刺第三天


    今天进行了新闻各个分类的设计,主要是用技术是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的方法,

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

    作者:哦心有
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    iOS- Swift:使用FMDB进行数据库操作(线程安全:增删改查)
    iOS- Swift:如何使用iOS8中的UIAlertController
    iOS- Swift和Object-C的混合编程
    iOS- 再谈ARC里内存问题,ARC里数组、对象内存得不到释放?
    iOS- 如何建立索引实现本地文本搜索引擎,允许容错搜索?
    iOS- 全方位解析.crash文件崩溃报告
    iOS- 关于AVAudioSession的使用——后台播放音乐
    iOS- Autolayout自动布局
    iOS- 详解如何使用ZBarSDK集成扫描二维码/条形码,点我!
    419. Roman to Integer【medium】
  • 原文地址:https://www.cnblogs.com/haobox/p/14879759.html
Copyright © 2020-2023  润新知