将视图的宽度设置为大于其父级的宽度?

时间:2013-05-22 02:45:33

标签: android

这是我的xmls(基本上有两个视图:相对[B]内的线性[A])

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/A"
android:layout_width= "wrap_content"
android:layout_height= "wrap_content" >

<LinearLayout
android:id="@+id/B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>

</<RelativeLayout>

我将B的宽度设置为屏幕宽度的10倍,即w*10

RelativeLayout.LayoutParams para = new RelativeLayout.LayoutParams(w*10, h);
B.setLayoutParams(para);

当我为B制作动画时,

ObjectAnimator animation2 = ObjectAnimator.ofFloat(B, "x", -w)

它显示B的宽度为w而不是w*10,因为正在作为父视图的A正在限制其宽度。

如何将B的宽度设为w*10

,我该怎么办?

1 个答案:

答案 0 :(得分:1)

子视图必须完全在其父视图中布局。在任何一个方向上,你都不可能比你的父母更大。所以是的,父母会限制孩子的宽度。当然,既然你的父设置了包装内容它应该增长到包围B.你试过调用requestLayout来调整它自己吗?