2

LinearLayout があり、その中に 2 つの TextView があります。動的に 1 つの TextView を非表示にするか、実行時に TextView を追加できます。私の問題は、 TextView が LinearLayout から消えると、すぐに折りたたまれることです。ビューが LinearLayout から削除されたときに LinearLayout(ScaleAnimation) をアニメーション化したいと考えています。

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:paddingBottom="@dimen/activity_vertical_margin"
      android:paddingLeft="@dimen/activity_horizontal_margin"
      android:paddingRight="@dimen/activity_horizontal_margin"
      android:paddingTop="@dimen/activity_vertical_margin"
      tools:context=".MainActivity" >

  <LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:background="#000"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="1dp"
        android:background="#fff"
        android:orientation="vertical"
        android:padding="10dp" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="Hello, World" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="Hello, World 2" />
    </LinearLayout>  
  </LinearLayout>

  <Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:text="Remove TextView" />

</RelativeLayout>

レイアウトのスナップショット... ここに画像の説明を入力

2 番目の TextView が LinearLayout から削除されたとき、および別の TextView が LinearLayout に追加された場合、LinearLayout をアニメーション化したいと考えています。ScaleAnimation は上記のタスクに適していますが、このタイプのアニメーションに必要な値がわかりません。

4

1 に答える 1

0

もう必要ないことは確かですが、将来の検索者のために:

削除アニメーションの場合、アイテムを非表示view.setVisibility(View.INVISIBLE)にし、アニメーション ( addAnimationListener) の後、線形レイアウトから効果的に削除することができます。ビューが非表示の場合、その親はそれを測定し続けます。

于 2014-02-23T16:51:21.753 に答える