Android TabLayout Android Design
Je vais essayer d'obtenir le nouveau TabLayout dans l'android de la conception de la bibliothèque de travail.
Je suis en suivant ce post:
http://android-developers.blogspot.com/2015/05/android-design-support-library.html
et de la documentation:
http://developer.android.com/reference/android/support/design/widget/TabLayout.html
Et viens avec le code suivant dans mon activité, mais les tablayout ne s'affiche pas quand je lance l'activité.
J'ai essayé d'ajouter à l'activité dans le fichier de mise en page, mais il dit qu'il ne peut pas trouver que des balises xml.
public class TabActivity extends BaseActivity {
SectionPagerAdapter mSectionsPagerAdapter;
ViewPager mViewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab);
LinearLayout v = (LinearLayout)findViewById(R.id.tabContainer);
TabLayout tabLayout = new TabLayout(this);
tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));
tabLayout.setLayoutParams(new LinearLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, 50));
v.addView(tabLayout);
mSectionsPagerAdapter = new SectionPagerAdapter(getFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
tabLayout.setupWithViewPager(mViewPager);
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
}
public class SectionPagerAdapter extends FragmentPagerAdapter {
private String TAG = "SectionPagerAdapter";
public SectionPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position)
{
return new Fragment();
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return "test";
case 1:
return "test";
case 2:
}
return null;
}
}
}
Ajouté ce qui suit à mon gradle fichier
compile 'com.android.support:design:22.2.0'
- J'ai trouvé cette bonne promenade à travers l'article.. github.com/codepath/android_guides/wiki/...
- J'ai tout juste de publier un tutoriel sur l'un des onglets de ViewPager que les caractéristiques distinctes de retour de navigation pour chaque onglet. Cela pourrait être intéressant pour vous: medium.com/@nilan/...
Vous devez vous connecter pour publier un commentaire.
J'ai juste réussi à mettre en place les nouveaux TabLayout, voici donc les étapes rapides à faire (ノ◕ヮ◕)ノ*:・゚✧
Ajouter des dépendances à l'intérieur de votre build.gradle fichier:
Ajouter TabLayout à l'intérieur de votre mise en page
Configuration de votre Activité de ce genre:
tabLayout.setupWithViewPager(viewPager);
avec les trois choses que la méthode doit se faire, en ajoutantOnTabSelectListener
à laTabLayout
, Remplir les onglets de laPagerAdapter
, et l'ajout deaddOnPageChangeListener
sur leViewPager
. Alors maintenant, il fonctionne très bien. Mais comme mentionné dans la doc APItabLayout.setupWithViewPager(viewPager);
est-ce que ces 3 choses, quand je les fais moi-même, il fonctionne très bien, mais avec une ligne il semble être peu fiables.J'ai eu à recueillir des informations auprès de diverses sources, de rassembler un fonctionnement TabLayout. Ce qui suit est présenté comme un ensemble de cas d'utilisation qui peuvent être modifiées au besoin.
Assurez-vous que le module
build.gradle
fichier contient une dépendance surcom.android.support:design
.Dans mon cas, je suis entrain de créer une activité dans l'application avec un TabLayout. J'ai ajouté la section suivante pour
AndroidMainifest.xml
. Réglage de la parentActivityName permet l'accueil flèche à prendre à l'utilisateur de retourner à l'activité principale.styles.xml
contient les entrées suivantes. Cette application dispose d'un blanc d'applications alot de l'activité principale et un bleu barre d'applications pour le Sujet de l'activité. Nous avons besoin de définircolorPrimaryDark
pour le Sujet de l'activité, de sorte que la barre d'état au-dessus de la barre d'accès est bleu.Il y a aussi un
styles.xml (v19)
. Il est situé àsrc/main/res/values-v19/styles.xml
. Ce fichier n'est appliquée que si l'API de l'appareil est >= 19.AboutActivity.java
contient le code suivant. Dans mon cas, j'ai un nombre fixe de languettes (7) afin que je puisse supprimer tout le code traitant de la dynamique des onglets.AboutTabFragment.java
est utilisé pour remplir chaque onglet. Dans mon cas, le premier onglet est unLinearLayout
à l'intérieur d'unScrollView
et tous les autres ont unWebView
comme la racine de mise en page.about_coordinatorlayout.xml
est comme suit:about_tab_version.xml
est comme suit:Et
about_tab_webview.xml
:Il y a aussi des entrées dans
strings.xml
Et
colors.xml
src/main/assets
contient les fichiers HTML référencé dansAboutTabFragemnt.java
.getResources.getString()
.J'essaie de résoudre ici est mon code.
d'abord ajouter la dépendance dans la construction.gradle(app).
Créer PagerAdapter.class
créer activity_main.xml
créer MainActivity.class
et enfin créer un fragment d'ajouter dans viewpager
caisse fragment_one.xml
Créer FragmentOne.class
CSS:
CSS:
CSS:
Ainsi de façon très simple :
XML:
De code Java: