Autore Topic: come visualizzare in basso i tab del tab layout realizzato con actionbar  (Letto 516 volte)

Offline andream1977

  • Utente normale
  • ***
  • Post: 260
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    windows xp
Ho creato un layout a tab utilizzando le action bar, in particolare ho 3 pulsanti che compongono la mia navigazione a tab, questi tre pulsanti si chiamano  "Top Rated", "Games", "Movies"
Vorrei far comparire questi 3 pulsanti in basso allo schermo e non in alto, come posso fare?
Altra cosa, quando clicco su un tab, compare il suo contenuto con l'effetto di slide, cioè appare scivolando da destra a sinistra, io vorrei togliere questo effetto e farlo apparire di colpo senza nessun effetto

Codice (Java): [Seleziona]
package info.androidhive.tabsswipe;

import info.androidhive.tabsswipe.adapter.TabsPagerAdapter;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;

public class MainActivity extends FragmentActivity implements
                ActionBar.TabListener {

        private ViewPager viewPager;
        private TabsPagerAdapter mAdapter;
        private ActionBar actionBar;
        // Tab titles
        private String[] tabs = { "Top Rated", "Games", "Movies" };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);

                // Initilization
                viewPager = (ViewPager) findViewById(R.id.pager);
                actionBar = getActionBar();
                mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

                viewPager.setAdapter(mAdapter);
                actionBar.setHomeButtonEnabled(false);
                actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);           

                // Adding Tabs
                for (String tab_name : tabs) {
                        actionBar.addTab(actionBar.newTab().setText(tab_name)
                                        .setTabListener(this));
                }

                /**
                 * on swiping the viewpager make respective tab selected
                 * */

                viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

                        @Override
                        public void onPageSelected(int position) {
                                // on changing the page
                                // make respected tab selected
                                actionBar.setSelectedNavigationItem(position);
                        }

                        @Override
                        public void onPageScrolled(int arg0, float arg1, int arg2) {
                        }

                        @Override
                        public void onPageScrollStateChanged(int arg0) {
                        }
                });
        }

        @Override
        public void onTabReselected(Tab tab, FragmentTransaction ft) {
        }

        @Override
        public void onTabSelected(Tab tab, FragmentTransaction ft) {
                // on tab selected
                // show respected fragment view
                viewPager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
        }

}

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:come visualizzare in basso i tab del tab layout realizzato con actionbar
« Risposta #1 il: 01 Dicembre 2013, 16:05:51 CET »
0
Ti prego,non uccidere cosi la UI di sistema.... Lasciali in alto! Per l'effetto slide controlla sulla documentazione del viewpager se c'è qualcosa sulle animazioni,sono sicuro di si

Inviato dal mio Nexus 4 utilizzando Tapatalk

IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline andream1977

  • Utente normale
  • ***
  • Post: 260
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus S
  • Sistema operativo:
    windows xp
Re:come visualizzare in basso i tab del tab layout realizzato con actionbar
« Risposta #2 il: 01 Dicembre 2013, 19:19:17 CET »
0
se mi hanno chiesto i tab in basso mica posso rispondere, no guarda i tab si possono solo avere in alto per non uccidere la UI di sistema, mi mandano a quel paese in un attimo :-D

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:come visualizzare in basso i tab del tab layout realizzato con actionbar
« Risposta #3 il: 01 Dicembre 2013, 19:22:46 CET »
+1
se mi hanno chiesto i tab in basso mica posso rispondere, no guarda i tab si possono solo avere in alto per non uccidere la UI di sistema, mi mandano a quel paese in un attimo :-D

Però puoi spiegare che Android ha le sue linee guida e i suoi componenti nativi.
Si possono cambiare, ma ci deve essere un buon motivo per farlo.
Seguire le linee guida significa soprattutto avere un app in cui gli utenti si ritrovano facilmente, perchè ne conoscono i comportamenti.

Detto questo, se vuoi i tab in fondo, devi scriverti il tuo componente.


Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:come visualizzare in basso i tab del tab layout realizzato con actionbar
« Risposta #4 il: 04 Dicembre 2013, 18:17:55 CET »
0
Puoi sempre usare un TabWidget inserito in un RelativeLayout, allineandolo in basso nel TabHost.... ???
Andando a spanne...
Codice (XML): [Seleziona]
<TabHost ...>
      <RelativeLayout ...>
            <TabWidget android:layout_alignParentBottom="true" .../>
            <FrameLayout   ...il contenitore dei contenuti />
      </RelativeLayout>
</TabHost>
Ovviamente poi dovrai crearti uno stile, modificare il ViewPager se vuoi mantenerlo (oppure se non vuoi lo slide tra le pagine e vuoi rimuovere l'effetto slide...lo elimini del tutto)

E ualà ! Android Retrò Style ! Come passare da Jelly Bean a Donut in due minuti !  :-P