2013-05-08 13 views
7

Pracuję nad TabWidget i otrzymuję biały odstęp między TabActivity i Tabs.Android TabWidget White Space Issue

nie wiem jak usunąć tę białą przestrzeń proszę może ktoś mi pomóc jak mam ją usunąć, mój tab_main.xml jest następujący:

<?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> 

próbowałem dodaj kolor tła TabWidget do androida: kolor: przezroczysty, ale wciąż ta sama biała przestrzeń pojawia się pomiędzy działaniem a kartą.

Nie chcę żadnego miejsca separacja pomiędzy mojej działalności i zaczepy (Czy jest możliwe aby to zrobić?)

Proszę może ktoś zasugerować mi jak pozbyć się tej białej przestrzeni.

enter image description here

+0

Czy próbowałeś, aby wysokość 'TabWidget' do 0dp była podobna do układu ramki? Ponadto, jeśli celujesz w API 8 lub więcej, powinieneś użyć 'match_parent' zamiast wypełnienia. – TronicZomB

Odpowiedz

0

To Look Like masz podobny problem jak ja miałem w moim projekcie, sprawdź this projekt i spróbować zaimplementuj pliki xml do rysowania i podaj TabWidget o określonych niestandardowych wymiarach podanych w tym projekcie. Na pewno zadziała dla ciebie.

+0

To zadziałało dla mnie dzięki za pomoc! – iOSBee

1

Wyjście masz pokazane najprawdopodobniej sugeruje Margines błędu/obicia, zamiast błędu układu. Twój TabWidget lub Twój FrameLayout może mieć margines odziedziczony po ogólnym motywie, którego używasz.

Najprawdopodobniej dodaje się rozwiązać problem (uwaga na dodatkowe style margin/wypełniania):

 <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" 
      .... 
      .... /> 

Twój FrameLayout może również mieć żadnych zagnieżdżonych elementów, które mają pewien margines/dopełnienie, a co z kolei może spowodować biała przestrzeń. Dodałem android:background zarówno do FrameLayout, jak i TabWidget, aby pomóc w rozwiązywaniu problemów, jeśli pomiędzy nimi jest jakaś biała spacja.

Powiedziałeś, że próbujesz ustawić kolor tła TabWidget jako przezroczystego - ale to nie pomoże, ponieważ jeśli istnieje margines - to kolor tła podrzędnego działania pokazuje się jako biały, poniżej przezroczystego obszaru. Jeśli ustawisz ogólny kolor tła RelativeLayout na coś podobnego do niebieskiego - zobaczysz, że niebieski przechodzi. Napraw więc margines/padding, a nie próbuj go ukryć.

0

Z ekranu z ekranu wygląda na to, że używasz WebView. Webview wyposażony jest domyślnie margin i padding> 0. Można ustawić padding i margin do zera nadrzędnymi tag WebView'sbody lub przy użyciu css.

Szczegółowe informacje można znaleźć odpowiedź na poniższym SO pytanie:

Remove unwanted white space in webview

Powiązane problemy