Je veux obtenir la structure de mise en page telle qu'elle apparaît sur l'image. Quoi que j'aie essayé, TabHost est toujours étalé sur Linear, en plein écran.Comment faire TabHost situé et ancré à l'intérieur d'un panneau, pas en plein écran
Cette structure physique a été modifiée plusieurs fois. J'ai essayé tout le poids et la gravité et match_parent, remplir parent ... tous font TabHost sur le dessus et le bas Linear n'est pas visible. Donc, si vous voyez des étiquettes fous, ne soyez pas surpris :)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_weight="0"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TabHost
android:id="@+id/tabHost"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</TabWidget>
</TabHost>
<LinearLayout
android:layout_weight="1"
android:background="@color/white"
android:layout_height="60dp"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent">
<Button
android:layout_width="100dp"
android:layout_height="fill_parent"
android:text="@string/finish_test"
android:id="@+id/finishTest"
android:background="@drawable/blueback"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:nestedScrollingEnabled="false"
android:onClick="onFinishClick" />
</LinearLayout>
</RelativeLayout>
Mais j'ai besoin que l'écran soit divisé en deux panneaux.
Panel 1 - zone pleine pour TabHost
Panel 2 - hauteur fixe et que pour cette linéaire.
Pls, aide.
P.S. Le bouton est considéré comme une partie de Lineat. Pls, ignorez-le.
Peut-être qu'il est aussi important de mentionner que les panneaux de l'onglet I remplir à partir du code. Et chaque onglet est une disposition d'activité.
je le fais de cette façon:
// on eCreate..
TabHost mTabHost = (TabHost) findViewById(R.id.tabHost);
mTabHost.setup(getLocalActivityManager());
try {
mTabHost.addTab(mTabHost.newTabSpec("tab0").setIndicator("title1", null).setContent(new Intent(this, HelloScreen.class)));
mTabHost.addTab(mTabHost.newTabSpec("tab1").setIndicator("title2", null).setContent(new Intent(this, BeginTest.class)));
mTabHost.addTab(mTabHost.newTabSpec("tab2").setIndicator("title3", null).setContent(new Intent(this, Second.class)));
} catch (Exception e) {
throw e;
}
Puis-je cacher TabWidget .. et toujours ces onglets (avec activités à l'intérieur) occupent plein écran ..
Peut-être que je me trompe, mais pour moi Activité est comme une fenêtre dans Windows .. ou en termes de Winform.NET - Contrôle de l'utilisateur ou un WinForm ..
In.NET telle structure fonctionne parfaitement .. Je ne suis pas sûr de la façon dont l'Android gère les activités ..
S'il vous plaît fournir un [mcve] montrant ce que vous avez essayé qui n'a pas fonctionné. 'TabHost' fonctionne parfaitement dans un' LinearLayout'; en fait, c'est comme ça que vous ajouteriez normalement le 'TabWidget'. – CommonsWare
Ok, donnez-moi 10 minutes –
Do, did, done .. –