gonza28
05/03/16, 10:06:34
Si. Puede ser confuso. Pasa que estoy usando tabLayout. estoy usando fragment adapter para las pestañas debido a que se me dificulta trabajar en la actividad principal.
Estoy trabajando con esto practicamente http://blog.grafixartist.com/parallax-scrolling-tabs-design-support-library/
pero no puedo poner el TabLayout transparente porque en mi casi, como estoy trabajando con un fragmentAdapter estoy insertando el TabLayout del sistema en el AppBarLayout ya que no puedo usar un TabLayout físico en xml por que el AppBarLayout está en el main_activity.xml y para usar un TabLayout personalizado, es decir usar un TabLayout físico, debo meterlo en el AppBarLayout. pero en ese casi se me cierra la app porque no tengo acceso a ese TabLayout desde un Fragment.class. se entiende?
Mi diseño va todo bien, salvo que el TabLayout es de color y me arruina el diseño. yo pretendo dejarlo como se ve en el tutorial.
Si seteo un BackgroundColor de la siquiente manera:
tabs.setBackgroundColor(Color.parseColor("#00000000")); no funciona. a palos si me cambia, se pone blanco el fondo y no transparente ya que el TabLayout está insertado de manera rara. mas abajo el ejemplo de como lo tengo.
public class ViewPagerTwo extends Fragment {
private AppBarLayout appBar;
private TabLayout tabs;
private ViewPager viewPager;
public ViewPagerTwo() {
}
override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmento_viewpager, container, false);
if (savedInstanceState == null) {
insertarTabs(container);
viewPager = (ViewPager) view.findViewById(R.id.pager);
poblarViewPager(viewPager);
tabs.setupWithViewPager(viewPager);
}
return view;
}
private void insertarTabs(ViewGroup container) {
View padre = (View) container.getParent();
appBar = (AppBarLayout) padre.findViewById(R.id.appbar);
tabs = new TabLayout(getActivity());
tabs.setSelectedTabIndicatorColor(Color.parseColor ("#FFFFFF"));
tabs.setTabTextColors(Color.parseColor("#FFFFFF"), Color.parseColor("#ffc003"));
appBar.addView(tabs);
}
private void poblarViewPager(ViewPager viewPager) {
AdaptadorSecciones adapter = new AdaptadorSecciones(getFragmentManager());
adapter.addFragment(new UnoFragment(), getString(R.string.tab1));
adapter.addFragment(new DosFragment(), getString(R.string.tab2));
adapter.addFragment(new TresFragment(), getString(R.string.tab3));
adapter.addFragment(new CuatroFragment(), getString(R.string.tab4));
viewPager.setAdapter(adapter);
}
............
Me gustaria meter manualmente y físicamente un TabLayout en el AppBarLayout.
Pero no puedo porque este está en el main.
Alguien podria ayudarme? Me gusta mucho estos efectos pero no llevo mucho con ello y me cuestan algunas cosas.
Muchas gracias desde ya. Un saludo!
Estoy trabajando con esto practicamente http://blog.grafixartist.com/parallax-scrolling-tabs-design-support-library/
pero no puedo poner el TabLayout transparente porque en mi casi, como estoy trabajando con un fragmentAdapter estoy insertando el TabLayout del sistema en el AppBarLayout ya que no puedo usar un TabLayout físico en xml por que el AppBarLayout está en el main_activity.xml y para usar un TabLayout personalizado, es decir usar un TabLayout físico, debo meterlo en el AppBarLayout. pero en ese casi se me cierra la app porque no tengo acceso a ese TabLayout desde un Fragment.class. se entiende?
Mi diseño va todo bien, salvo que el TabLayout es de color y me arruina el diseño. yo pretendo dejarlo como se ve en el tutorial.
Si seteo un BackgroundColor de la siquiente manera:
tabs.setBackgroundColor(Color.parseColor("#00000000")); no funciona. a palos si me cambia, se pone blanco el fondo y no transparente ya que el TabLayout está insertado de manera rara. mas abajo el ejemplo de como lo tengo.
public class ViewPagerTwo extends Fragment {
private AppBarLayout appBar;
private TabLayout tabs;
private ViewPager viewPager;
public ViewPagerTwo() {
}
override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragmento_viewpager, container, false);
if (savedInstanceState == null) {
insertarTabs(container);
viewPager = (ViewPager) view.findViewById(R.id.pager);
poblarViewPager(viewPager);
tabs.setupWithViewPager(viewPager);
}
return view;
}
private void insertarTabs(ViewGroup container) {
View padre = (View) container.getParent();
appBar = (AppBarLayout) padre.findViewById(R.id.appbar);
tabs = new TabLayout(getActivity());
tabs.setSelectedTabIndicatorColor(Color.parseColor ("#FFFFFF"));
tabs.setTabTextColors(Color.parseColor("#FFFFFF"), Color.parseColor("#ffc003"));
appBar.addView(tabs);
}
private void poblarViewPager(ViewPager viewPager) {
AdaptadorSecciones adapter = new AdaptadorSecciones(getFragmentManager());
adapter.addFragment(new UnoFragment(), getString(R.string.tab1));
adapter.addFragment(new DosFragment(), getString(R.string.tab2));
adapter.addFragment(new TresFragment(), getString(R.string.tab3));
adapter.addFragment(new CuatroFragment(), getString(R.string.tab4));
viewPager.setAdapter(adapter);
}
............
Me gustaria meter manualmente y físicamente un TabLayout en el AppBarLayout.
Pero no puedo porque este está en el main.
Alguien podria ayudarme? Me gusta mucho estos efectos pero no llevo mucho con ello y me cuestan algunas cosas.
Muchas gracias desde ya. Un saludo!