具有图像背景的布局在大小更改时没有响应

时间:2013-06-04 07:47:59

标签: android android-layout

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

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

enter image description here

正如你所看到的,在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的宽度。 enter image description here

正如您在图片中看到的那样,最后一个标签的宽度有点小,因为它位于tabsContainer的“结尾”。

你可以给我任何小费吗?

UPADTE

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

<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布局。

1 个答案:

答案 0 :(得分:1)

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

当你膨胀时,请确保你通过父母。

希望这有帮助。

编辑:在没有通过父母的情况下永远不会膨胀,否则您将失去xml参数(LEARN MORE