0

我有一个布局(tab从现在开始),它有一个背景(204px x 54px)。

我已将其设置tab为多种尺寸:目前它设置为 70dp x 40dp:

在此处输入图像描述

正如您所看到的,在 XML 上它的显示方式就像应该在设备中查看一样,但是当我运行它时,它会忽略宽度和高度,因此它会按原样显示(可能从背景图片)。

但是,它们tabs被放置在一个 LinearLayout 中,所以我将它膨胀了几次,然后将它添加到tabsContainer布局中。

<LinearLayout
        android:id="@+id/tabsContainer"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true" >

    </LinearLayout>

正如你所看到的,我设置了一个 40dp 的高度并且它正在工作。它拉伸tab布局,但我也想减小tab' 的宽度。 在此处输入图像描述

正如您在图片中看到的,最后一个选项卡的宽度有点小,因为它位于tabsContainer.

你能给我任何提示吗?

更新

现在我的标签布局是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/inactiu_docs"
android:clickable="true"
android:gravity="center" >

<TextView
    android:id="@+id/titlePestanya"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="2dp"
    android:text="Producto simple"
    android:textColor="@color/black" />

这是我用来膨胀的代码:

RelativeLayout pestanya = (RelativeLayout) this.mInflater.inflate(R.layout.pestanya_per_inflar, null);

我试过这样做:

RelativeLayout pestanya = (RelativeLayout) this.mInflater.inflate(R.layout.pestanya_per_inflar, tabsContainer);

但它因错误而崩溃:

android.widget.LinearLayout 不能转换为 android.widget.RelativeLayout

解决 了充气时使用这个:

inflate(R.layout.pestanya_per_inflar, tabsContainer, false);

并使用之前的 XML 布局。

4

1 回答 1

1

如果您的父母是LinearLayout,那么您应该在选项卡上使用android:layout_width="0"android:layout_weight="1"

当你充气时,确保你通过父母。

希望这可以帮助。

编辑:永远不要在没有传递父母的情况下膨胀,否则您将丢失您的 xml 参数(了解更多

于 2013-06-04T08:29:56.380 回答