
06/02/16, 11:58:49
|
|
Betatester oficial
|
|
Fecha de registro: dic 2008
Localización: Valencia
Mensajes: 625
Modelo de smartphone: NEXUS 5 - ONEPLUS 3
Tu operador: Pepephone
|
|
|
Tabs
A ver, tengo un Tab pero lo que son los titulos de las pestañas no me hacen el Scroll.
Código:
import android.graphics.Color;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
/**
* Fragmento de la sección "Mi Cuenta"
*/
public class Tab_Jornadas extends Fragment {
private AppBarLayout appBar;
private TabLayout pestanas;
private ViewPager viewPager;
public Tab_Jornadas() {
}
@override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmento_paginado, container, false);
//Para no cerrar la aplicacion en las pestañas esto:
setRetainInstance(true);
//O esto
//if (appBar != null) {
//appBar.removeView(pestanas);
//}
if (savedInstanceState == null) {
insertarTabs(container);
// Setear adaptador al viewpager.
viewPager = (ViewPager) view.findViewById(R.id.pager);
poblarViewPager(viewPager);
pestanas.setupWithViewPager(viewPager);
}
return view;
}
private void insertarTabs(ViewGroup container) {
View padre = (View) container.getParent();
appBar = (AppBarLayout) padre.findViewById(R.id.appbar);
pestanas = new TabLayout(getActivity());
pestanas.setTabTextColors(Color.parseColor("#FFFFFF"), Color.parseColor("#FFFFFF"));
appBar.addView(pestanas);
}
private void poblarViewPager(ViewPager viewPager) {
AdaptadorSecciones adapter = new AdaptadorSecciones(getFragmentManager());
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J01));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J02));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J03));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J04));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J05));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J06));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J07));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J08));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J09));
adapter.addFragment(new Frag_J_Actual(), getString(R.string.titulo_tab_J10));
viewPager.setAdapter(adapter);
}
@override
public void onDestroyView() {
super.onDestroyView();
appBar.removeView(pestanas);
}
/**
* Un {@link FragmentStatePagerAdapter} que gestiona las secciones, fragmentos y
* títulos de las pestañas
*/
public class AdaptadorSecciones extends FragmentStatePagerAdapter {
private final List<Fragment> fragmentos = new ArrayList<>();
private final List<String> titulosFragmentos = new ArrayList<>();
public AdaptadorSecciones(FragmentManager fm) {
super(fm);
}
@override
public Fragment getItem(int position) {
return fragmentos.get(position);
}
@override
public int getCount() {
return fragmentos.size();
}
public void addFragment(Fragment fragment, String title) {
fragmentos.add(fragment);
titulosFragmentos.add(title);
}
@override
public CharSequence getPageTitle(int position) {
return titulosFragmentos.get(position);
}
}
}
fragmento_paginado.xml:
Código:
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
contenido_principal.xml
Código:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.AppBarLayout>
<RelativeLayout
android:id="@+id/contenedor_principal"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
¿como hago para hacer que se muevan los titulos de las pestañas?
Última edición por Merche300 Día 09/02/16 a las 20:11:55.
|