2013-05-22 131 views
0

这是我个XML(基本上有两种观点:内部的线性[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> 

我设置的w*10屏幕宽度的B 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

子视图必须在其父项中完全布局。无论朝哪个方向,你都不可能比你的父母更大。所以是的,父母会限制孩子的宽度。当然,因为你的父母被设置为包装内容,它应该增长到包围B.你是否尝试过调用requestLayout来使其自身调整大小?

+0

试过了'A.requestLayout()',但它仍然没有包装'B' .. –