46 votes

Exemple d'utilisation d'Android onglets avec Vue sur la place des Activités?

Les Développeurs Android TabWidget tutoriel est dit ce qui suit:

"Vous pouvez mettre en place votre contenu de l'onglet dans l'une des deux façons: utilisez les onglets pour échanger leurs points de Vue au sein de la même Activité, ou utilisez les onglets pour changer entre entièrement activités distinctes."

Le tutoriel va démontrer comment vous pouvez utiliser les onglets avec des Activités distinctes. J'ai été incapable de trouver un exemple de l'utilisation d'onglets avec différents points de Vue au sein de la même Activité. Je préfère ne pas ré-inventer cette roue, donc je suis en espérant que quelqu'un ici sait comment c'est fait et peut indice de moi. Merci!

40voto

ninjasense Points 5934

Je pense que dans le .setContent méthode de chaque onglet, vous passez dans la vue que vous souhaitez utiliser:

TabHost.TabSpec spec1 = tabs.newTabSpec("tag1");
spec1.setContent(R.id.AnalogClock01);
spec1.setIndicator("Analog Clock");

Voici un exemple, j'ai constaté un certain temps de retour:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

  <TabHost android:id="@+id/TabHost01" android:layout_width="wrap_content" android:layout_height="wrap_content">
    <TabWidget android:id="@android:id/tabs" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    <FrameLayout android:id="@android:id/tabcontent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="65px">
      <AnalogClock android:id="@+id/AnalogClock01" android:layout_width="wrap_content" android:layout_height="wrap_content"></AnalogClock>
      <DigitalClock android:text="DigitalClock01" android:id="@+id/DigitalClock01" android:layout_width="wrap_content" android:layout_height="wrap_content"></DigitalClock>
    </FrameLayout>
  </TabHost>
</LinearLayout>

Et le code Java pour cet exemple est la suivante:

import android.app.Activity;
import android.os.Bundle;
import android.widget.TabHost;

public class tabexample extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TabHost tabs = (TabHost)findViewById(R.id.TabHost01);

        tabs.setup();

        TabHost.TabSpec spec1 = tabs.newTabSpec("tag1");

        spec1.setContent(R.id.AnalogClock01);
        spec1.setIndicator("Analog Clock");

        tabs.addTab(spec1);

        TabHost.TabSpec spec2 = tabs.newTabSpec("tag2");
        spec2.setContent(R.id.DigitalClock01);
        spec2.setIndicator("Digital Clock");

        tabs.addTab(spec2);
    }
}

4voto

iah.vector Points 113

J'ai utilisé celui-ci et il a été très bien pour moi http://www.codeproject.com/Articles/107693/Tabbed-Applications-in-Android

-1voto

George Points 36

C'est un peu tard, mais peut-être que cela va aider quelqu'un dans le futur https://bitbucket.org/ageorgel/poseidontab

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X