comment définir les onglets en bas de l'écran dans Android?
-
18-09-2019 - |
Question
Je travaille sur tabactivity.
Je veux montrer mon tabwidget en dessous du tabcontent (framelayout).
je l'ai fait en définissant l'attribut de l'onglet tabwiget comme
android:gravity="bottom"
mais le framelayout ne peux pas aligner avec les onglets.
qui est des pattes sont montrés au bas de l'écran et se chevauchent l'framelayout
comment faire? si une certaine valeur de la hauteur au framelayout il pas optimisé pour tous les écrans d'Android. Que puis-je faire? une idée???
La solution
ou tout simplement utiliser un personnalisé à partir de: http://code.google.com/p/androidtabs/
il permet pattes sur le fond
Autres conseils
Le concept de base derrière le Tab-Activity
comme suit
TabHost
est un conteneur pour un affichage de la fenêtre à onglets.
Cet objet contient deux enfants: un ensemble d'étiquettes de l'onglet que l'utilisateur clique pour sélectionner l'onglet spécifique, et un objet FrameLayout qui affiche le contenu de cette page.
L'élément individuel est généralement contrôlé en utilisant cet objet conteneur, plutôt que définir des valeurs sur les éléments enfants eux-mêmes.
TabWidget
affiche une liste d'étiquettes de l'onglet représentant chaque page dans la collection onglet du parent. L'objet conteneur pour ce widget est TabHost.
Lorsqu'un utilisateur sélectionne un onglet, cet objet envoie un message à conteneur, TabHost, pour dire de changer la page d'affichage. Le conteneur TabHost est utilisé pour ajouter des étiquettes, ajouter le gestionnaire de rappel et gérer callbacks.
ajuster votre mise en page comme suit: -
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="-3dip"
android:layout_weight="0" >
</TabWidget>
</LinearLayout>
</TabHost>
Les exemples d'Android à la rescousse!
http://developer.android.com/resources/tutorials /views/hello-tabwidget.html
Juste échange tabcontent et onglets res / layout / main.xml:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
S'il vous plaît Vérifiez le lien suivant
Il y a deux façons d'afficher les onglets au bas d'une activité de tabulation.
1) L'utilisation disposition relative 2) En utilisant l'attribut Layout_weight
http: //justkumar.blogspot. com / 2011/09 / tabs-en-bas-de-tabactivity-by.html
Cochez cette
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabhost">
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TabWidget
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="bottom"
android:id="@android:id/tabs">
</TabWidget>
</FrameLayout>
</LinearLayout>
Voici le code pour onglet du bas
<TabWidget
android:layout_width="fill_parent"
android:layout_height="60dp"
android:layout_gravity="bottom"
android:background="#0000"
android:id="@android:id/tabs"
/>
"android:layout_gravity="bottom"