xilove0 2020-05-15
implementation ‘com.google.android.material:material:1.0.0‘
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:text="hello" android:textSize="45dp" android:id="@+id/tvName"/> </LinearLayout>
<?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" android:orientation="vertical" tools:context=".MainActivity"> <com.google.android.material.tabs.TabLayout android:layout_width="match_parent" android:id="@+id/tl_tabs" android:layout_height="40dp"/> <androidx.viewpager.widget.ViewPager android:id="@+id/vp_content" android:layout_width="match_parent" android:layout_height="match_parent"> </androidx.viewpager.widget.ViewPager> </LinearLayout>
public class MainActivity extends AppCompatActivity { private TabLayout tlTabs; private ViewPager vpContent; List<Fragment> fragments = new ArrayList<>(); List<String> titles = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); fragments.add(new MyFragment("第一页")); fragments.add(new MyFragment("第二页")); fragments.add(new MyFragment("第三页")); fragments.add(new MyFragment("第四页")); fragments.add(new MyFragment("第五页")); titles.add("第一页"); titles.add("第二页"); titles.add("第三页"); titles.add("第四页"); titles.add("第五页"); vpContent.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { super.destroyItem(container, position, object); } @Nullable @Override public CharSequence getPageTitle(int position) { return titles.get(position); } }); tlTabs.setupWithViewPager(vpContent); } private void initViews() { tlTabs = findViewById(R.id.tl_tabs); vpContent = findViewById(R.id.vp_content); } public static class MyFragment extends Fragment { String name; private TextView tvName; public MyFragment(String s) { name = s; } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment1, null); initViews(view); tvName.setText(name); return view; } private void initViews(View view) { tvName = view.findViewById(R.id.tvName); } } }
点击下载源码:[下载]