gpt4 book ai didi

java - 使 FragmentTabHost 的所有选项卡适合屏幕

转载 作者:行者123 更新时间:2023-12-02 12:47:17 25 4
gpt4 key购买 nike

我正在开发一个带有选项卡的 Android 应用程序 (FragmentTabHost)。我有一个带有 6 个选项卡的 FragmentActivity。目前,选项卡的名称显示为进行行跳转。我希望所有选项卡都能适应屏幕的宽度,而不必进行水平 ScrollView 。如何以良好的可视化方式显示选项卡名称。我怎样才能实现这个目标?

最佳答案

尝试像这样改变你的 xml 布局

<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >

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

<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" />

<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />

<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>

</android.support.v4.app.FragmentTabHost>

然后在添加选项卡后的 onCreate 中(也以编程方式):

TabWidget tw = (TabWidget) findViewById(android.R.id.tabs);
LinearLayout ll = (LinearLayout) tw.getParent();
HorizontalScrollView hs = new HorizontalScrollView(this);
hs.setLayoutParams(new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.WRAP_CONTENT));
ll.addView(hs, 0);
ll.removeView(tw);

hs.addView(tw);hs.setHorizo​​ntalScrollBarEnabled(false);

关于java - 使 FragmentTabHost 的所有选项卡适合屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44725632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com