2011-09-18 19 views
8

Mam podstawowe pytanie. W wielu przykładach tabhost znajdujemy karty z obrazem i tekstem.Jak wyśrodkować tekst w tabhost?

W moim przypadku chciałbym wyświetlić tylko tekst, ale problem polega na tym, że mój tekst jest wyśrodkowany, ale nie pionowy (tekst znajduje się na dole mojej karty).

Próbowałem: android: layout_gravity = "center" w framelayout, ale to nie działa.

Masz jakiś pomysł?

Moje xml.

<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" 
android:layout_gravity="center"> 

    <LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center"> 

     <TabWidget android:id="@android:id/tabs" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"/> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center"> 

     </FrameLayout> 

    </LinearLayout> 

</TabHost> 

rozwiązany: I dostosowane moje zakładki dzięki poniższym samouczku: http://joshclemm.com/blog/?p=136

Dziękuję

+0

Lepiej używać niestandardowej zakładki, ponieważ domyślne zakładki mają rozmiar ikon i tekstu. –

+0

możliwy duplikat [Jak wyśrodkować wyrównanie tekstu na pasku kart w systemie Android] (http://stackoverflow.com/questions/5164443/how-to-center-align-text-in-a-tab-bar-in- android) – user7116

+0

To samo pytanie zadano dawno temu. Przeczytaj ten numer [wpisz opis linku tutaj] (http://stackoverflow.com/questions/5164443/how-to-center-align-text-in-a-tab-bar-in-android) – Dimon

Odpowiedz

0
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:gravity="center_vertical|center_horizontal" 
android:layout_gravity="center_vertical|center_horizontal" 
+0

Próbowałem Twojego rozwiązania, ale to nie działa. znajduje się na dole mojej zakładki Czy to działa? – Miroufle

+0

zaktualizowałeś odpowiedź, czy próbowałeś? – user634545

+0

Tak, próbowałem obu wersji, ale to nie działa :( – Miroufle

0

Użyj poniższego kodu, aby tekst zakładki w centrum:

RelativeLayout .LayoutParams param = nowy

RelativeLayout.Layout Parametry (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

param.addRule(RelativeLayout.CENTER_IN_PARENT); 

TextView tv = (TextView) tabHost.getTabWidget().getChildAt(0) 
      .findViewById(android.R.id.title); // Unselected Tabs 
    tv.setTextColor(Color.parseColor("#505050")); 
    tv.setTextSize(10); 
    tv.setLayoutParams(param); 
3
  1. postarać się o tytuły pierwszej karcie i ustawić wagę i układy wyraźnie, jak pokazano poniżej:

    TextView textView = (TextView)tabHost.getTabWidget().getChildAt(0) 
    .findViewById(android.R.id.title); 
    textView.setGravity(Gravity.CENTER);   
    textView.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT; 
    textView.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT; 
    

    nadzieję, że to pomaga.

Powiązane problemy