2013-05-22 178 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' .. –