1

編集: 要約すると、ビュー遷移にアニメーションがあると問題が発生しますが、ビューからアニメーションを削除するとすぐに、ビューフリッパーで表示されていない子が表示されなくなります。

ビュー フリッパーを作成しましたが、うまく動作します。アニメーションも設定しましたが、たとえば 1 つのバグが発生しました。最初のがれきセカンドスクリーン3画面目のバグ. 以下の画面のように、ビューが翻訳されたランダムな行をクリックすると、1 つのリスト ビューが表示されます。コード:((ViewFlipper)findViewById(R.id.in_app_vf)).setDisplayedChild(1);その後、戻るボタンをクリックすると最初のビューが表示されますコード:((ViewFlipper)findViewById(R.id.in_app_vf)).setDisplayedChild(0);しかし問題は、editTextがあった同じスペースをクリックするとキーボードが呼び出されることです。そのため、リスト ビューは、editText フィールドがあった位置ではクリックできません。どこに問題があるのか​​ わかりません。

私が使用するアウトアニメーション:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:fillAfter="true">
    <translate
        android:fromXDelta="0"
        android:toXDelta="-100%p"
        android:duration="700"/>

    <alpha 
        android:fromAlpha="1.0" 
        android:toAlpha="0.0" 
        android:duration="900" />
</set>

未使用のビューを削除しようとしたコードですが、機能していません:

private void setAllTheOtherViewGone(){
        for(int i = 0; i <= ((ViewFlipper)findViewById(R.id.in_app_vf)).getChildCount()-1;i++)
            if(i != ((ViewFlipper)findViewById(R.id.in_app_vf)).getDisplayedChild()){
                ((ViewFlipper)findViewById(R.id.in_app_vf)).getChildAt(i).setVisibility(View.GONE);
                ((ViewFlipper)findViewById(R.id.in_app_vf)).getChildAt(i).setVisibility(View.INVISIBLE);
            }
    }
4

1 に答える 1

0

edittext setFocusable(false) と setFocusableInTouchmode(false) のプロパティを設定するとうまくいくかもしれません。

于 2013-04-12T10:48:55.283 に答える