Aller au contenu

[Résolu] TabActivity : affichage des onglets


TsCyrille

Recommended Posts

Bonjour,

as-tu essayé d'intervertir le tabwidget et le framelayout ?

       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       android:padding="5dp">
           android:id="@android:id/tabcontent"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:padding="5dp" />        
           android:id="@android:id/tabs"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content" />


Exemple trouvé sur stackoverflow

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse... Mais je n'utilise pas de layout. Voici mon code :

public class DetailDossier extends TabActivity {


   public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);

   TabHost host = getTabHost();
   host.setup();

   host.addTab(host.newTabSpec("Client")
   .setIndicator("", this.getResources().getDrawable(R.drawable.erreur))
   .setContent(new Intent(this, DetailDossierClient.class)));


   /*host.addTab(host.newTabSpec("Europe")
           .setIndicator("", this.getResources().getDrawable(R.drawable.icon))
   .setContent(new Intent(this, SubActivity.class)));

   host.addTab(host.newTabSpec("Favorites")
   .setIndicator("", this.getResources().getDrawable(R.drawable.icon))
   .setContent(new Intent(this, SubActivity.class)));

   setDefaultTab(0);*/
   }
}

Comment faire dans ce cas ? Ou dois je me servir d'un layout comme dans ton exemple ?

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Oui, sans XML je pense que ça sera difficile d'inverser les deux. Toutefois, tu peux essayer d'étendre la classe TabHost pour obtenir ce que tu veux.

L'avantage de la séparation XML / code c'est de pouvoir dissocier le design du code ... Chose évidente quand on a 4 lignes de code, mais moins quand on a 15 activités dans son applis ...

Lien vers le commentaire
Partager sur d’autres sites

Je me disais que la solution n'était pas géniale. Du au fait qu'on dit au tabwidget de prendre toute la place.

Sinon essaye la première solution (framelayout en dessous de tabwidget) mais dans un relativelayout avec les propriétés suivantes pour les deux éléments :

Framelayout : android:layout_alignParentBottom="true"

Tabwidget : android:layout_alignParentTop="true"

Sinon y a la possibilité d'essayer avec weight.

Lien vers le commentaire
Partager sur d’autres sites

En mettant cela :

    xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
       android:id="@android:id/tabhost"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent">
               android:layout_width="fill_parent"
               android:layout_height="fill_parent">

               android:id="@android:id/tabs"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_alignParentBottom="true" />
               android:id="@android:id/tabcontent"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent" 
               android:layout_alignParentTop="true"/>


J'ai bien mes onglets en bas : merci beaucoup pour ton aide...

Mais il me reste un probleme : en fait le FrameLayout à l'air de prendre tout l'écran cad que je peux avoir de l'affichage derrière les onglets (et dans ce cas, les onglets ne marchent plus). Comment arrêter le FrameLayout au niveau du TabWidget ou plutot comment forcer l'affichage du TabWidget en bas de l'écran ?

Merci d'avance

Modifié par TsCyrille
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Ouf... J'ai enfin trouvé... Voici mon XML :

    xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">
       android:id="@android:id/tabhost"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent">
           android:layout_width="fill_parent"
           android:layout_height="fill_parent">
               android:id="@android:id/tabs"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_alignParentBottom="true">

               android:id="@android:id/tabcontent"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content" 
               android:layout_alignParentTop="true"
               android:layout_above="@android:id/tabs">



Merci encore beaucoup pour ton aide...

Lien vers le commentaire
Partager sur d’autres sites

  • 8 months later...
  • 4 months later...

Bonjour.

Je plussoie on ne peut pas voir le code, quelqu'un pourrait-il nous éclairer ?

Merci à vous.

Edit :

Pour ceux qui cherchent toujours la réponse mais qui ne peuvent comme nous pas voir le XML, j'ai trouvé ce lien en cherchant un peu plus :

http://www.developpez.net/forums/d1106207/java/general-java/java-mobiles/android/conversion-menu-bouton-menu-onglets/

(cf. POST de vivelapsp : 08/07/2011, 14h13).

Le problème des onglets est résolu chez moi : les onglets s'affichent bien en bas. Petit détail génant toutefois : le style (graphique/design) des onglets suggère que le contenu est en dessous, je cherche à le personnaliser.

Modifié par cyberalternative
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...