This time I would like to explain about ** ViewPager **.
This time I would like to use ** ViewPager **, which allows you to switch ** View ** by swiping. That is the screen that switches when you swipe sideways. I will post the URL of what it actually looks like, so if you don't know, please check it out. https://media.giphy.com/media/pVZA3Zuhmf8uM8Vkd5/giphy.gif The source is also available on GitHub. https://github.com/minton0721/ViewPagerSample
First of all, add ViewPager to MainActivity.
MainActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
tools:context=".MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/homePage"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_tab_strip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#fff"
android:textColor="#FF5F5F"
android:paddingTop="10dp"
android:paddingBottom="10dp"/>
</android.support.v4.view.ViewPager>
</android.support.constraint.ConstraintLayout>
** PagerTabStrip ** will display the tab title. You can delete it if you don't need it, but without it, you won't know what page it is, so we'll implement it here. Be sure to put it in the ViewPager if you need it.
MyFragmentStatePagerAdapter.java
public class MyFragmentStatePagerAdapter extends FragmentPagerAdapter {
public MyFragmentStatePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
switch(i){
case 0:
return new Fragment0();
case 1:
return new Fragment1();
default:
return new Fragment2();
}
}
@Override
public int getCount() {
return 3;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position){
case 0:
return "Screen 1";
case 1:
return "Screen 2";
default:
return "Screen 3";
}
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.homePage);
viewPager.setAdapter(new MyFragmentStatePagerAdapter(getSupportFragmentManager()));
}
}
Connect to MyFragmentStatePagerAdapter with setAdapter.
Each fragment.java
class Fragment0 extends Fragment {
View rootView;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment0, container, false);
return rootView;
}
}
I will call the screen with CreateView. You may not be good at explaining it, but that's it. I want to be able to explain better ...
Recommended Posts