Tablayout+Viewpager+recyclerview简单实现
来源:互联网 发布:appserv怎么进入mysql 编辑:程序博客网 时间:2024/05/31 19:47
//小菜鸟奋斗中
package com.tablayoutviewpagerrecyclerview.tablayoutviewpagerrecyclerview;import android.os.Bundle;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import java.util.ArrayList;import java.util.List;import butterknife.BindView;import butterknife.ButterKnife;/******************************************************* * @author: wukai * * * * * * @date: 2017/9/28 * * * * @description: * * * * * * @version 1.0 * * * * * * *******************************************************/public class MainActivity extends AppCompatActivity { @BindView(R.id.tabs) TabLayout tabs; @BindView(R.id.viewpager) ViewPager viewpager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); init_ViewPager(); } private void init_ViewPager() { List<String> titles = new ArrayList<>(); tabs = (TabLayout) findViewById(R.id.tabs); viewpager= (ViewPager) findViewById(R.id.viewpager); titles.add("吃"); titles.add("喝"); titles.add("玩"); titles.add("乐"); for (int i = 0; i < titles.size(); i++) { tabs.addTab(tabs.newTab().setText(titles.get(i))); } List<Fragment> fragments = new ArrayList<>(); for (int i = 0; i < titles.size(); i++) { fragments.add(new com.tablayoutviewpagerrecyclerview.tablayoutviewpagerrecyclerview.ListFragment()); } //适配器 Fragement_testAdapter fragementAdapter = new Fragement_testAdapter(getSupportFragmentManager(), fragments, titles); //给ViewPager设置adapter viewpager.setAdapter(fragementAdapter); //将Tablayout和ViewPager关联起来 tabs.setupWithViewPager(viewpager); //给TaBlayout设置适配器 tabs.setTabsFromPagerAdapter(fragementAdapter); }}
===========================================================================================
package com.tablayoutviewpagerrecyclerview.tablayoutviewpagerrecyclerview;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;/******************************************************* * @author: wukai * * * * * * @date: 2017/9/28 * * * * @description: * * * * * * @version 1.0 * * * * * * *******************************************************/public class ListFragment extends Fragment { RecyclerView mRecyclerView; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mRecyclerView= (RecyclerView) inflater.inflate(R.layout.list_test_fragment,container,false); return mRecyclerView; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mRecyclerView.setLayoutManager(new LinearLayoutManager(mRecyclerView.getContext())); mRecyclerView.setAdapter(new RecyclerViewAdapter(mRecyclerView.getContext())); }}============================================================================================package com.tablayoutviewpagerrecyclerview.tablayoutviewpagerrecyclerview;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentStatePagerAdapter;import java.util.List;/******************************************************* * @author: wukai * * * * * * @date: 2017/9/28 * * * * @description: * * * * * * @version 1.0 * * * * * * *******************************************************/public class Fragement_testAdapter extends FragmentStatePagerAdapter { List<Fragment> mFragments; List<String> mTitles; public Fragement_testAdapter(FragmentManager fm, List<Fragment> fragments, List<String> titles) { super(fm); this.mFragments = fragments; this.mTitles = titles; } @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return mFragments.size(); } @Override public CharSequence getPageTitle(int position) { return mTitles.get(position); }}===========================================================================================package com.tablayoutviewpagerrecyclerview.tablayoutviewpagerrecyclerview;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Toast;/******************************************************* * @author: wukai * * * * * * @date: 2017/9/28 * * * * @description: * * * * * * @version 1.0 * * * * * * *******************************************************/public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> { private Context mContext; public RecyclerViewAdapter(Context context) { mContext = context; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.list_test_recycler, parent, false); return new MyViewHolder(view); } @Override public void onBindViewHolder(MyViewHolder holder, int position) { View view = holder.mView; view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(mContext, "点击事件!!!", Toast.LENGTH_SHORT).show(); } }); } @Override public int getItemCount() { return 10; } class MyViewHolder extends RecyclerView.ViewHolder { private View mView; public MyViewHolder(View itemView) { super(itemView); mView = itemView; } }}===========================================================================================jar包
//Material Design 设计风格的库compile 'com.android.support:design:26.0.0-alpha1'//recyclerview的依赖compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'compile 'com.android.support:cardview-v7:26.0.0-alpha1'compile 'com.android.support:palette-v7:26.0.0-alpha1'//懒人框架compile 'com.jakewharton:butterknife:8.4.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'compile 'com.android.support:cardview-v7:24.0.0'compile 'de.hdodenhof:circleimageview:2.1.0'
阅读全文
0 0
- Tablayout+Viewpager+recyclerview简单实现
- ViewPager+TabLayout滑动简单实现
- TabLayout + ViewPager + Fragment + SwipeRefreshLayout + RecyclerView
- TabLayout+ViewPager简单使用
- TabLayout实现ViewPager指示器
- TabLayout+ViewPager 实现 PagerIndictor
- TabLayout 实现ViewPager+fragment
- Tablayout Viewpager的实现
- TabLayout+ViewPager简易实现
- 最简单地实现标签页导航-----TabLayout+ViewPager
- TabLayout+ViewPager 简单实现app底部Tab布局
- TabLayout和ViewPager以及Fragment实现超级简单导航栏
- 超简单的ViewPager导航栏联动实现--TabLayout
- TabLayout+ViewPager 简单实现app底部Tab布局
- android 控件 翻页 ViewPager TabLayout RecyclerView
- Android AppBarLayout+TabLayout+RecyclerView+ViewPager+Fragment
- TabLayout的简单使用(TabLayout+Fragment+ViewPager)
- TabLayout+viewpager的简单使用
- Batch Normalization的前向和反向传播过程
- Servlet从入门开始学习(一)
- vue-Resource(与后端数据交互)
- java基于索引对List进行分批处理
- python中的number数字
- Tablayout+Viewpager+recyclerview简单实现
- Swap Nodes in Pairs
- Quartz中时间参数说明 即Cron表达式
- PMCAFF产品众测 | 对话随手攒CEO聊聊这款产品的设计、推广和改进(活动已结束)
- 极线约束
- 第五周 【项目2
- 【李叫兽】如何识别故作高深的空话
- python 2.7.12报ImportError: No module named _socket
- 下拉选项框联动