我有一个布局(从现在起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
的“结尾”。
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布局。
答案 0 :(得分:1)
如果您的父母是LinearLayout
,那么您应该在标签上使用android:layout_width="0"
和android:layout_weight="1"
。
当你膨胀时,请确保你通过父母。
希望这有帮助。
编辑:在没有通过父母的情况下永远不会膨胀,否则您将失去xml参数(LEARN MORE)