Dieses Mal möchte ich über ** ViewPager ** erklären.
Dieses Mal möchte ich ** ViewPager ** verwenden, mit dem Sie ** View ** durch Wischen wechseln können. Dies ist der Bildschirm, der wechselt, wenn Sie seitwärts wischen. Ich werde die URL veröffentlichen, wie sie tatsächlich aussieht. Wenn Sie es nicht wissen, überprüfen Sie sie bitte. https://media.giphy.com/media/pVZA3Zuhmf8uM8Vkd5/giphy.gif Die Quelle ist auch auf GitHub verfügbar. https://github.com/minton0721/ViewPagerSample
Fügen Sie zunächst ViewPager zu MainActivity hinzu.
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 ** zeigt den Titel der Registerkarte an. Sie können es löschen, wenn Sie es nicht benötigen, aber ohne es wissen Sie nicht, um welche Seite es sich handelt. Deshalb implementieren wir es hier. Stellen Sie sicher, dass Sie es in den ViewPager einfügen, wenn Sie es benötigen.
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 "Bildschirm 1";
case 1:
return "Bildschirm 2";
default:
return "Bildschirm 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()));
}
}
Stellen Sie mit setAdapter eine Verbindung zu MyFragmentStatePagerAdapter her.
Jedes 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;
}
}
Ich werde den Bildschirm mit CreateView aufrufen. Sie können es vielleicht nicht gut erklären, aber das war's. Ich möchte es besser erklären können ...
Recommended Posts