2015-03-30 1 views
0

Я не могу понять, почему LinearLayout с идентификатором «map_tab» (первая вкладка) не имеет высоту «match_parent» на самом деле? У меня есть XML-файл с TabHost:Установите размер match_parent для LinearLayout контента в TabHost (Android)

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
android:background="#ffff" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<TabHost 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/tabHost_main" 
    android:layout_gravity="center_horizontal"> 

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

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

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <!--Вкладка №1 - карта--> 
      <LinearLayout 
       android:id="@+id/map_tab" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

       <!--Карта--> 
       <HorizontalScrollView 
        android:layout_weight="1" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent"> 
        <ScrollView 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content"> 
         <ImageView 
          android:id="@+id/map_img" 
          android:layout_width="wrap_content" 
          android:layout_height="match_parent" 
          android:scaleType="centerInside"/> 
        </ScrollView> 
       </HorizontalScrollView> 
       <TextView 
        android:id="@+id/sector_advert_text" 
        android:background="#ddffaa" 
        android:layout_gravity="bottom" 
        android:gravity="bottom" 
        android:layout_width="match_parent" 
        android:layout_height="50dp" /> 
       </LinearLayout> 

      <!--Вкладка №2 - акции--> 
      <LinearLayout 
       android:id="@+id/stock_tab" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

       <Button 
        android:text="2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" /> 
      </LinearLayout> 

      <!--Вкладка №3 - Маршрут --> 
      <LinearLayout 
       android:id="@+id/route_tab" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 
       <Button 
        android:text="3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" /> 
      </LinearLayout> 

     </FrameLayout> 
    </LinearLayout> 
</TabHost> 

</LinearLayout> 

ScreenShot

Я уже пытаюсь установить высоту до "fill_parent". Это всегда выглядит как «wrap_content». Например, если я установил высоту «map_tab» на 50dp, это тоже не ОК! Вторая и третья вкладки тоже имеют эту проблему. Что мне нужно сделать, чтобы высота содержимого вкладки «match_parent»?

ответ

-1

Я решил эту проблему! Просто изменение:

<TabHost 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/tabHost_main" 
android:layout_gravity="center_horizontal"> 

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

на:

<TabHost 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/tabHost_main" 
android:layout_gravity="center_horizontal"> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 

Удачи! :)