Mam następujący układ:W jaki sposób jedna właściwość Animate Layout w ViewGroups?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<FrameLayout android:id="@+id/viewgroup_left"
android:layout_height="match_parent"
android:layout_weight="2"
android:layout_width="0dp">
... children ...
</FrameLayout>
<LinearLayout android:id="@+id/viewgroup_right"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_width="0dp"
android:orientation="vertical">
... children ...
</LinearLayout>
</LinearLayout>
I skończyć z czymś takim:
+------------------------+------------+
| | |
| | |
| Left | Right |
| | |
| | |
+------------------------+------------+
Kiedy pewna przełącznik jest przełączana, chcę animowanie lewo, tak że jej szerokość rozszerza się wypełnić cały ekran. Jednocześnie chciałbym animować szerokość prawej, aby zmniejszyła się do zera. Później, gdy przełącznik zostanie ponownie przełączony, muszę przywrócić rzeczy do powyższego stanu.
Próbowałem napisać własną animację, która wywołuje View.getWidth()
, ale kiedy animuję z powrotem do tej wartości (ustawiając View.getLayoutParams().width
), jest szersza niż w chwili rozpoczęcia. Podejrzewam, że robię to źle. Przeczytałem również całą dokumentację na temat animacji Honeycomb, ale nie chcę tłumaczyć ani skalować ... Chcę animować właściwość width layoutu. Nie mogę znaleźć tego przykładu.
Jaki jest prawidłowy sposób to zrobić?