私は次のレイアウトを持っています:
<?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>
私は次のようなものになります:
+------------------------+------------+
| | |
| | |
| Left | Right |
| | |
| | |
+------------------------+------------+
特定のトグルが切り替えられたときに、左をアニメーション化して、その幅が画面全体に広がるようにします。同時に、Rightの幅をゼロに縮小するようにアニメートしたいと思います。後で、トグルが再び切り替えられたときに、上記の状態に戻す必要があります。
を呼び出す独自のアニメーションを作成しようとしましたView.getWidth()
が、(設定によって)その値にアニメーション化するView.getLayoutParams().width
と、開始時よりも幅が広くなります。私はそれを間違っているだけだと思います。Honeycombアニメーションに関するすべてのドキュメントも読みましたが、変換したり拡大縮小したりしたくありません...レイアウト幅プロパティをアニメーション化したいと思います。この例は見つかりません。
これを行う正しい方法は何ですか?