如何在布局 XML 文件中设置选项卡高度?

Posted

技术标签:

【中文标题】如何在布局 XML 文件中设置选项卡高度?【英文标题】:How can I set the tab height in a layout XML file? 【发布时间】:2011-10-08 13:45:44 【问题描述】:

我以前用过:

tabHost.getTabWidget().getChildAt(0).getLayoutParams().height =50;

设置我的标签高度。

但我想将此选项卡高度设置从 Java 代码移动到布局 xml 文件,目的是为 layout/main.xmllayout-large/main 使用不同的高度值.xml

我的问题是如何在 xml 文件中设置标签高度?

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_
    android:layout_>

        <LinearLayout
            android:orientation="vertical"
            android:layout_
            android:layout_>
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_
                android:layout_ />
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_
                android:layout_>


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

【问题讨论】:

【参考方案1】:

您可以根据需要指定 dip 中制表符的高度。您可以使用属性窗口或直接在 .Xml 文件中给出。

          <TabWidget
            android:id="@android:id/tabs"
            android:layout_
            android:layout_ />

【讨论】:

【参考方案2】:

另外在xml中设置高度

<TabWidget
            android:id="@android:id/tabs"
            android:orientation="horizontal"
            android:layout_
            android:layout_ />

我也在代码中做了一些动作

int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, res.getDimension(R.dimen.tab_height), res.getDisplayMetrics());
    for (int i=0; i<mTabHost.getTabWidget().getTabCount(); i++)
    
        mTabHost.getTabWidget().getChildAt(i).getLayoutParams().height = height;
    

这使得标签高度和蓝色带状线的位置正确。如果没有 java 代码,蓝线可能会出现在拉伸的选项卡上。

【讨论】:

以上是关于如何在布局 XML 文件中设置选项卡高度?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PyQt5 中设置布局的固定高度?

无法在 Android 中的 XML 中设置膨胀视图的布局宽度、高度和重量

如何在 WebView2 中设置基于选项卡的 cookie?

如何在 Firestore 使用选项卡中设置时区?

如何在 Kivy 中设置小部件/布局的最小允许宽度/高度?

如何在xml中设置复合可绘制文本视图的高度和宽度? [关闭]