0

カスタマイズしたリスト ビューを作成しました。リスト ビューには 3 つのテキスト フィールドがあります。次のことを機能させたいのですが、ユーザーがアクティビティから戻るボタンを押すと、テキストビューを埋めたばかりで、カスタマイズされたリストビューを含むアクティビティに戻ります。作成したばかりの最近のエントリは、すでにそこに存在しています。ユーザーがリスト ビュー アクティビティに移動するたびに、エントリを右からスワイプする必要があります。リスト ビュー xml のコードは次のとおりです。


    <LinearLayout
    android:id="@+id/listHolder"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:background="#ffffff" >

    <ListView
        android:id="@+id/mylist"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </ListView>
    </LinearLayout>

ここでは、100 dp の画面サイズが他のウィジェットによって使用されるため、リスト ビューは実際には完全なスペースを利用していません (ただし、ここでは重要ではありません)。そして、私が使用しているアニメーションはこれです:


    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false" >

    <scale
    android:duration="1500"
    android:fillAfter="false"
    android:fromXScale="480dp"
    android:fromYScale="0dp"
    android:interpolator="@android:anim/overshoot_interpolator"
    android:pivotX="60"
    android:pivotY="10"
    android:toXScale="100dp"
    android:toYScale="0dp" />

    </set>

aniamtion xml の何が問題になっていますか? x 値と y 値のパラメーターを間違って設定しましたか? 私が得ているのは、ユーザーがそのアクティビティに移動した1秒後またはそれ以降にリストビューが表示されることです。つまり、右から左への移行はありません。なぜこれが起こっているのか考えてみてください。ありがとう。

4

1 に答える 1

1

アニメーションをリストビューに適用していないのに、アニメーションを表示するにはどうすればよいですか!] そして、次の コードを挿入%して使用する必要がpivotYあります。pivotX

これをフォルダに保存layout_controller.xmlanimます。

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
 android:animation="@anim/rotation"
 android:animationOrder="normal"
 android:delay="10%" />

animこれをフォルダーにrotation.xmlとして保存します

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromDegrees="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" />

このコードを yout listView レイアウト ファイルに追加します。

<LinearLayout
android:id="@+id/listHolder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="#ffffff" >

<ListView
    android:id="@+id/mylist"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layoutAnimation="@anim/list_layout_controller" >
</ListView>
</LinearLayout>

つまり、レイアウトにこの行を追加したので、それが機能することがわかります..

android:layoutAnimation="@anim/list_layout_controller" 
于 2012-10-12T12:10:01.397 に答える