2013-05-22 3 views
0

Вот мои XM (в основном существует два вида: линейный [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

Детский вид должен полностью размещаться внутри его родителя. Вы никогда не можете быть больше, чем ваш родитель, в любом направлении. Итак, да, родитель ограничит ширину ребенка. Конечно, поскольку ваш родитель настроен на обертку контента, он должен расти до уровня B. Пробовали ли вы вызов requestLayout, чтобы изменить его размер?

+0

Пробовал 'A.requestLayout()', но он все еще не обертывает 'B' .. –

Смежные вопросы