2012-04-06 8 views
2

Фон: У меня есть активность, состоящая из четырех кнопок, каждая из которых занимает четверть экрана. Она содержит горизонтальную LinearLayout, которая разделена пополам двумя вертикальными LinearLayouts, как показано на изображении ниже:Android: Сохранение изображения, видимого на протяжении всей анимации

http://i.stack.imgur.com/P7Wd3.jpg

желаемого эффекта: Когда я коснуться кнопки, то хотелось бы, чтобы оживить и заполните весь экран.

Вопрос: Я выполнил анимированный аспект, изменив шкалы X и Y от 1 до 2 вкл. Проблема в том, что анимированная кнопка не будет отображаться, когда она покинет родительский LinearLayout.

Мысль

  1. Я попытался сделать то неанимированные кнопки невидимыми, но анимационная кнопка будет отображаться только в его родителе LinearLayout.

  2. Я знаю, что эта проблема будет решена, если бы я использовал один LinearLayout, но мне не удалось использовать функцию «макет: вес», чтобы каждая кнопка занимала половину ширины и длины.

Итак ... Как я должен подойти к этому вопросу?

Я был бы признателен за любую помощь :)

+0

Упрощен ли динамически изменяемый вес макета родительской до 100, чтобы также полностью заполнить основной родительский макет? –

ответ

1

Попробуйте с помощью одного RelativeLayout. Проверьте this post для приятного примера. Возможно, вам понадобится setVisibility(View.INVISIBLE) для других кнопок.

Альтернатива:

  1. Построить RelativeLayout, как указано выше, но положить, что в качестве единственного ребенка из FrameLayout.
  2. При анимации кнопки remove от RelativeLayout и add до FrameLayout с указанием силы тяжести в LayoutParams. Таким образом, остальные кнопки будут отображаться в фоновом режиме во время анимации.