我有一个带有两个选项卡的 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>