Bară de tabulare în Android (Programare, Android, File, Android Actionbar)

Steve a intrebat.
a intrebat.

Cu ajutorul acestor programe, am creat Tabs. puteți să vă uitați la un coduri de mai jos.

HomeActivity.java:

 package com.sit.fth.activity;

    import android.app.ActionBar;
    import android.app.ActionBar.Tab;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.v4.view.ViewPager;
    import android.util.Log;
    import android.view.WindowManager;


    public class HomeActivity extends BaseActivity implements
            VideoFragment.OnVideoSelectedListener,

            AboutFragment.OnAboutFragmentSelectedListener,

            AnnouncenentFragment.OnAnnouncementSelectedListener,

            GalleryFragment.OnGalItemSelectedListener,

            MagzineFragment.OnMagzineSelectedListener {

        private ActionBar actionabar;
        private ViewPager viewpager;
        private LiveStreamFragment liveStreamFragment;
        private AppData appData;
        private FragmentManager fm;
        private MyFragmentPagerAdapter fragmentPagerAdapter;
        // private HomeBaseFragment fragment;

        @Override
        protected void onCreate(Bundle arg0) {
            super.onCreate(arg0);

            setContentView(R.layout.activity_main);
            appData = ((GemsApplication) this.getApplication()).getAppData();


            actionabar = getActionBar();
            actionabar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);



            liveStreamFragment = new LiveStreamFragment();

            viewpager = (ViewPager) findViewById(R.id.pager);
            fm = getSupportFragmentManager();

            /** Defining a listener for pageChange */
            ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
                @Override
                public void onPageSelected(int position) {
                    super.onPageSelected(position);
                    actionabar.setSelectedNavigationItem(position);
                }
            };

            /** Setting the pageChange listner to the viewPager */
            viewpager.setOnPageChangeListener(pageChangeListener);

            /** Creating an instance of FragmentPagerAdapter */
            fragmentPagerAdapter = new MyFragmentPagerAdapter(fm);

            viewpager.setAdapter(fragmentPagerAdapter);
            actionabar.setDisplayShowTitleEnabled(true);

            /** Defining tab listener */
            ActionBar.TabListener tabListener = new ActionBar.TabListener() {

                @Override
                public void onTabReselected(Tab arg0,
                        android.app.FragmentTransaction arg1) {

                }

                @Override
                public void onTabSelected(Tab tab,
                        android.app.FragmentTransaction ft) {
                    viewpager.setCurrentItem(tab.getPosition());

                }

                @Override
                public void onTabUnselected(Tab tab,
                        android.app.FragmentTransaction ft) {

                }
            };


                    Tab tab = actionabar.newTab().setText(getString(R.string.str_home))
                            .setTabListener(tabListener);
                    actionabar.addTab(tab);
                    tab = actionabar.newTab().setText(getString(R.string.str_video))
                            .setTabListener(tabListener);
                    actionabar.addTab(tab);
                    tab = actionabar.newTab().setText(getString(R.string.str_gal))
                            .setTabListener(tabListener);
                    actionabar.addTab(tab);
                    tab = actionabar.newTab().setText(getString(R.string.str_announcements))
                            .setTabListener(tabListener);
                    actionabar.addTab(tab);

                    tab = actionabar.newTab()
                            .setText(getString(R.string.str_magazines))
                            .setTabListener(tabListener);
                    actionabar.addTab(tab);

                    tab = actionabar.newTab().setText(getString(R.string.str_conduct))
                            .setTabListener(tabListener);
                    actionabar.addTab(tab);  


        }
    }

Am nevoie să mut o filă în partea de jos a ecranului. sunt confuz pentru că adaug un tabs cu ajutorul programului HomeActivity.java coding not from xml layout.

Nu știu cum să mut fila în partea de jos a ecranului. oricine mă poate ajuta cu acestea.Mulțumesc.

Comentarii

  • Uitați-vă la această întrebare stackoverflow.com/questions/18182776/… -.  > Por Alex.
  • Nu poți muta filele ActionBar în partea de jos(și, de asemenea, contravine principiilor de proiectare ale android). Poți, totuși, să folosești tab-uri normale și să le pui tu însuți în partea de jos. –  > Por utilizator.
  • @Luksprog Mulțumesc pentru răspuns. folosesc deja o tabs normală. dar, în acest caz, nu obțin o vizualizare prin glisare. există vreo posibilitate de a obține o tabs prin glisare în partea de jos a ecranului? –  > Por Steve.
  • În codul pe care l-ați postat se pare că ați setat filele pe ActionBar, de asemenea, nu văd niciun widget TabHost care să indice altceva. După cum am spus, cu un TabHost normal poți plasa foarte ușor tab-urile în partea de jos, am făcut o mică mostră ca exemplu despre cum poți aborda acest lucru. Puteți găsi exemplul aici gist.github.com/luksprog/066f81f5e20c2ca41b7d –  > Por utilizator.
1 răspunsuri
Saeid

acest link : Plasarea ActionBar-ului meu în partea de jos

Bara de acțiune implicită google nu apare în nici un caz în partea de jos. După cum se pare că au menționat și alții, splitActionBarWhenNarrow plasează doar un subset al ActionBar-ului tău (cum ar fi filele, etc.) în partea de jos a ecranului atunci când dispozitivul este îngust. Din păcate, dacă doriți să implementați o interfață de tip ActionBar în partea de jos a ecranului, va trebui să o implementați singur (o căutare rapidă găsește acest exemplu), deoarece nu am văzut nicio bibliotecă care să facă acest lucru pentru dumneavoastră.

În general, totuși, v-aș recomanda să nu faceți acest lucru, deoarece încalcă principiul de proiectare Seamlessness din documentele de proiectare prin încălcarea așteptărilor utilizatorilor cu privire la locul în care vor fi amplasate controalele de tip ActionBar – un utilizator android este obișnuit în mod ideal să facă lucrurile într-un anumit mod și ați avea nevoie de un motiv destul de convingător pentru a încălca această așteptare.

too see this link : http://developer.android.com/guide/topics/ui/actionbar.html#SplitBar

and here is a sample : http://android-ed.blogspot.com/2011/12/using-actionbar-at-bottom-of-screen.html