3

我有一个带有两个选项卡的 TabHost 设置。在选项卡之间切换以匹配其中显示的数据时,选项卡内容区域的高度会扩展和折叠。我试图弄清楚如何使高度一致,以便 tab1 尽可能高,而 tab2 使用相同的高度。

TabHost 的高度以编程方式控制,以确保它不超过屏幕高度的 70%。Tab1 包含一个 ScrollView,因此可以根据需要滚动其数据。

TabHost 布局:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/tabhost"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TabWidget
      android:id="@android:id/tabs"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"/>
    <FrameLayout
      android:id="@android:id/tabcontent"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:paddingTop="@dimen/traffic_map_bubble_padding_top"
      android:paddingRight="@dimen/traffic_map_bubble_padding_right"
      android:paddingBottom="@dimen/traffic_map_bubble_padding_bottom"
      android:paddingLeft="@dimen/traffic_map_bubble_padding_left"
      android:background="@drawable/map_ballon_bg_selector"/>
  </LinearLayout>
</TabHost>

Tab1 布局

<ScrollView 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/traffic_restriction_tab_1"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
  <LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
      android:id="@+id/traffic_restriction_location_1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/traffic_restriction_bg"
      android:gravity="center"
      style="@style/traffic_map_bubble_style"
      android:textStyle="bold"/>
    <TableLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_marginTop="@dimen/traffic_map_bubble_table_margin_top"
      android:shrinkColumns="2">
        <TableRow>
          <TextView
            android:layout_column="1"
            style="@style/traffic_map_bubble_label_style"
            android:text="@string/label_dates"/>
          <TextView
            android:id="@+id/traffic_restriction_date_range"
            android:layout_column="2"
            style="@style/traffic_map_bubble_style"/>
          </TableRow>

  <TableRow>
    <TextView
      android:layout_column="1"
      style="@style/traffic_map_bubble_label_style"
      android:text="@string/label_impact"/>

    <TextView
      android:id="@+id/traffic_restriction_type"
      android:layout_column="2"
      style="@style/traffic_map_bubble_style"/>
  </TableRow>

  <TableRow>
    <TextView
      android:layout_column="1"
      style="@style/traffic_map_bubble_label_style"
      android:text="@string/label_condition"/>

    <TextView
      android:id="@+id/traffic_restriction_detail"
      android:layout_column="2"
      style="@style/traffic_map_bubble_style"/>
  </TableRow>

  <TableRow
    android:id="@+id/traffic_restriction_press_release_row"
    android:layout_marginTop="@dimen/traffic_map_bubble_table_double_space">

    <TextView
      android:layout_column="1"
      android:visibility="invisible"/>

    <TextView
      android:id="@+id/traffic_restriction_press_release"
      android:layout_column="2"
      style="@style/traffic_map_bubble_style"/>
  </TableRow>
  </TableLayout>
  </LinearLayout>
  </ScrollView>

Tab2 布局

<LinearLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/traffic_restriction_tab_2"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

<TextView
android:id="@+id/traffic_restriction_location_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/traffic_restriction_bg"
android:gravity="center"
style="@style/traffic_map_bubble_style"
android:textStyle="bold"/>

<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/traffic_map_bubble_table_margin_top"
android:shrinkColumns="2">

<TableRow>
  <TextView
    android:layout_column="1"
    style="@style/traffic_map_bubble_label_style"
    android:text="@string/label_email"/>

  <TextView
    android:layout_column="2"
    android:autoLink="email"
    style="@style/traffic_map_bubble_style"
    android:text="@string/email_public_relations"/>
</TableRow>

<TableRow
  android:layout_marginTop="@dimen/traffic_map_bubble_table_double_space">

  <TextView
    android:layout_column="1"
    style="@style/traffic_map_bubble_label_style"
    android:text="@string/label_phone_instate"/>

  <TextView
    android:layout_column="2"
    android:autoLink="phone"
    style="@style/traffic_map_bubble_style"
    android:text="@string/phone_public_relations_instate"/>
</TableRow>

<TableRow
  android:layout_marginTop="@dimen/traffic_map_bubble_table_double_space">

  <TextView
    android:layout_column="1"
    style="@style/traffic_map_bubble_label_style"
    android:text="@string/label_phone"/>

  <TextView
    android:layout_column="2"
    android:autoLink="phone"
    style="@style/traffic_map_bubble_style"
    android:text="@string/phone_public_relations"/>
</TableRow>
</TableLayout>
</LinearLayout>
4

0 回答 0