Barra degli strumenti con tabs di frammento e AdMob

Ho un'applicazione che utilizza l'ActionBar con le tabs in combinazione con i frammenti. Ora vorrei separare lo schermo nella schermata normale in alto e un piccolo bar in basso per gli annunci: immettere qui la descrizione dell'immagine
A sinistra è lo schermo normale, le linguette ei loro frammenti assumono l'integer schermo. Quello che voglio è la situazione a destra. Le tabs ei frammenti occupano la parte rossa, la parte verde è per gli annunci. Quindi la parte rossa dovrebbe fare spazio agli annunci, non voglio sovrapporre gli annunci.

Poiché l'attività che imposta l'ActionBar e le tabs non ha layout, non riesco ad aggiungere l'AdView.

  • Android: perché Thread in getView () non sembra funzionare?
  • Come aggiungere un button dinamico in Android?
  • L'annullamento di AysncTask continua a call onPostExecute ()
  • Le size delle immagini supportte dalla camera Android
  • Stato progressbar android
  • Sovrapponga l'image per creare un tutorial nell'applicazione Android
  • Come posso fare questo?

    Modifica
    Ecco come ho implementato la mia applicazione. La barra degli strumenti con le tabs si occupa di mostrare i frammenti, quindi non viene utilizzato alcun file di layout xml nell'attività principale.

    Il mio codice: TestActivity.java

     public class TestActivity extends SherlockFragmentActivity { private ActionBar actionBar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupTabs(savedInstanceState); initAds(); } private void setupTabs(Bundle savedInstanceState) { actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); addTab1(); addTab2(); } private void addTab1() { Tab tab1 = actionBar.newTab(); tab1.setTag("1"); String tabText = "1"; tab1.setText(tabText); tab1.setTabListener(new TabListener<MyFragment>(TestActivity.this, "1", MyFragment.class)); actionBar.addTab(tab1); } private void addTab2() { Tab tab1 = actionBar.newTab(); tab1.setTag("2"); String tabText = "2"; tab1.setText(tabText); tab1.setTabListener(new TabListener<MyFragment>(TestActivity.this, "2", MyFragment.class)); actionBar.addTab(tab1); } private void initAds(){ //Here I want to display the ad, only loading once, Just like Davek804 said } } 

    TabListener.java

     public class TabListener<T extends SherlockFragment> implements com.actionbarsherlock.app.ActionBar.TabListener { private final SherlockFragmentActivity mActivity; private final String mTag; private final Class<T> mClass; public TabListener(SherlockFragmentActivity activity, String tag, Class<T> clz) { mActivity = activity; mTag = tag; mClass = clz; } /* The following are each of the ActionBar.TabListener callbacks */ public void onTabSelected(Tab tab, FragmentTransaction ft) { SherlockFragment preInitializedFragment = (SherlockFragment) mActivity.getSupportFragmentManager().findFragmentByTag(mTag); // Check if the fragment is already initialized if (preInitializedFragment == null) { // If not, instantiate and add it to the activity SherlockFragment mFragment = (SherlockFragment) SherlockFragment.instantiate(mActivity, mClass.getName()); ft.add(android.R.id.content, mFragment, mTag); } else { ft.attach(preInitializedFragment); } } public void onTabUnselected(Tab tab, FragmentTransaction ft) { SherlockFragment preInitializedFragment = (SherlockFragment) mActivity.getSupportFragmentManager().findFragmentByTag(mTag); if (preInitializedFragment != null) { // Detach the fragment, because another one is being attached ft.detach(preInitializedFragment); } } public void onTabReselected(Tab tab, FragmentTransaction ft) { // User selected the already selected tab. Usually do nothing. } } 

    MyFragment.java

     public class MyFragment extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.myfragment, container, false); } } 

  • L'annuncio interstitial di Admob non verrà visualizzato
  • Posso utilizzare AdMob in applicazioni Android pubblicate su Amazon Appstore?
  • Come mettere in pausa gli annunci interstitial quando l'applicazione Android passa allo background?
  • Gli annunci Mopub non vengono mostrati
  • Come get l'annuncio da mostrare in fondo allo schermo senza sovrapposizioni
  • Come eseguire la precaricamento dell'annuncio interstitial di AdMob e submit ad un'altra attività android utilizzando l'intento
  • 2 Solutions collect form web for “Barra degli strumenti con tabs di frammento e AdMob”

    Crea un file XML contenente la definizione di AdView e utilizza <include> per includerlo nella parte inferiore di ciascuno dei tuoi frammenti.

    In alternativa crea un layout e le tue tabs. Cf. il dossier di riferimento:

    Per iniziare, il layout deve includere un gruppo di visualizzazione in cui si inserisce ciascun frammento associato a una scheda. Assicurarsi che ViewGroup disponga di un ID di risorsa in modo da poterlo fare riferimento dal codice di swap di tab. In alternativa, se il contenuto della scheda riempirà il layout dell'attività (esclusa la barra degli strumenti), la tua attività non necessita di alcun layout (non è necessario call setContentView ()). Invece, puoi inserire ciascun frammento nella ViewGroup principale di default, che puoi fare riferimento all'ID di android.R.id.content (puoi vedere questo ID utilizzato nel codice di esempio di seguito, durante le transactions di frammento).

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.