2013-05-08 13 views
7

Ich arbeite an der TabWidget und ich bekomme ein Leerzeichen zwischen der TabActivity und den Tabs.Android TabWidget White Space Problem

Ich weiß nicht, wie diese weißen Raum zu entfernen, kann bitte jemand mir helfen, wie soll ich es entfernen, meine tab_main.xml ist wie folgt:

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

<TabHost 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     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="0dip" 
      android:layout_weight="1" /> 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="0" /> 
    </LinearLayout> 
</TabHost> 

Ich habe versucht, setze die Hintergrundfarbe von TabWidget auf android: color: transparent, aber immer noch der gleiche Leerraum zwischen Activity und Tab.

ich keinen Trennraum zwischen meiner Aktivität will und den Tabs (Ist es möglich, es zu tun?)

kann Bitte jemand mich empfehlen, wie dieser weißen Raum, um loszuwerden.

enter image description here

+0

Haben Sie versucht, die Höhe des 'TabWidget' auf 0dp zu bringen, ähnlich wie beim Rahmenlayout? Wenn Sie API 8 oder höher verwenden, sollten Sie anstelle von fill "match_parent" verwenden. – TronicZomB

Antwort

0

Es Schauen Sie ist wie Sie ähnliches Problem haben, wie ich in meinem Projekt, überprüfen heraus this Projekt und versuchen, Implementieren Sie die ausklappbaren XML-Dateien und weisen Sie Ihrem TabWidget die in diesem Projekt angegebenen benutzerdefinierten Dimensionen zu. Es wird sicherlich für Sie arbeiten.

+0

Es hat für mich funktioniert, danke für Ihre Hilfe! – iOSBee

1

Die Ausgabe, die Sie am ehesten gezeigt haben schlägt eine Margin/Padding Fehler, anstatt ein Layout-Fehler. Entweder Ihr TabWidget oder Ihr FrameLayout könnte eine Marge haben, die vom gesamten Thema, das Sie verwenden, geerbt wird.

Höchstwahrscheinlich wird der folgende wird das Problem (beachten Sie die zusätzlichen Marge/padding Stile) fix:

 <FrameLayout 
      android:layout_marginBottom="0dip" 
      android:layout_paddingBottom="0dip" 
      android:background="@android:color/holo_green_light" 
      android:id="@android:id/tabcontent" 
      .... 
      .... /> 

     <TabWidget 
      android:layout_marginTop="0dip" 
      android:layout_paddingTop="0dip" 
      android:background="@android:color/holo_blue_light" 
      android:id="@android:id/tabs" 
      .... 
      .... /> 

Ihre FrameLayout auch alle verschachtelten Komponenten haben könnte, die eine Marge/padding haben, und was wiederum dazu führen, der weiße Raum. Ich habe die android:background sowohl dem FrameLayout als auch dem TabWidget hinzugefügt, nur um die Fehlerbehebung zu erleichtern, wenn dazwischen Leerraum ist.

Sie haben gesagt, dass Sie versucht haben, die Hintergrundfarbe des TabWidget transparent zu machen - aber es wird nicht helfen, denn wenn es einen Rand gibt - dann wird die Hintergrundfarbe des Hintergrunds weiß unter dem transparenten Bereich angezeigt. Wenn Sie die Hintergrundfarbe des gesamten RelativeLayout auf etwas wie Blau setzen, dann sehen Sie das Blau, das durchkommt. Also repariere den Rand/Abstand, anstatt zu versuchen, ihn zu verstecken.

0

Von Ihrem Screenshot aus sieht es so aus, als ob Sie eine WebView verwenden. Webview kommt mit einem Standard-margin und padding> 0. Sie die padding und margin auf Null setzen kann durch Überschreiben der WebView'sbody Tag oder mit css.

Weitere Einzelheiten finden Sie in den Antworten auf die folgende Frage SO sehen:

Remove unwanted white space in webview

Verwandte Themen