片段内的图像滑块

时间:2018-11-12 18:25:58

标签: android performance android-layout androidimageslider

我正在使用视图寻呼机在我的应用中创建标签。所有片段都包含回收站视图。其中两个具有网格布局,一个包含列表类型视图的线性布局。

  1. 当我打开应用程序时,firebase数据需要花费很多时间加载(约15/25秒)。是由于我的网络连接性还是布局充气机与它有关?

  2. 我想在我的第二个片段(具有网格视图)中添加一个自动图像滑块。 concreateview代码如下。

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    
    viewThree = inflater.inflate(R.layout.fragment_three, container, false);
    int mNoOfColumns = Utility.calculateNoOfColumns(getContext());
    gridLayoutManager = new GridLayoutManager(getContext(),mNoOfColumns);
    
    RecyclerView firebaseRecyclerView = (RecyclerView) viewThree.findViewById(R.id.recyclerview_threeFragment1);
    firebaseRecyclerView.setHasFixedSize(true);
    firebaseAdapter1 = new firebaseAdapter(getContext(), list);
    firebaseRecyclerView.setLayoutManager(gridLayoutManager);
    firebaseRecyclerView.setAdapter(firebaseAdapter1);
    

我不确定如何利用Viewpager在此片段中添加图像滑块。

主要活动

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

    FirebaseApp.initializeApp(this);
    // write codes for tab
    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    viewPager = (ViewPager) findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);
}


private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());

    adapter.addFragment(new OneFragment(), "one");
    adapter.addFragment(new TwoFragment(), "two");
    adapter.addFragment(new ThreeFragment(), "THREE");
    adapter.addFragment(new FourFragment(), "four");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

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

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

您能提出一些实现此目标的方法吗?

0 个答案:

没有答案