1

2 つのリンクされた質問があります。

editText とそのボタンにスライドの翻訳を適用しています。明らかな理由から、1 つは表示され、もう 1 つは非表示の 2 つのボタンを作成しました。表示されていたものを非表示にし、表示されていなかったものを表示するために、次のコードを使用しています。

public void onAnimationEnd(Animation animation) {
    textBox.setVisibility(View.GONE);
    button.setVisibility(View.GONE);
    button2.setVisibility(View.VISIBLE);
    textBox2.setVisibility(View.VISIBLE);
    textBox2.requestFocus();
    button2.setEnabled(true);
    button.setEnabled(false);
}

textBox元の editText とbuttonそれに付随するボタンはどこにありますか。textBox2見せたいものです。

ただし、元の editText とそのボタンは表示されたままで、他のセットは表示されません。上記の何が問題なのですか?

次に、.java ファイルで画面サイズを見つけることができますが、これを .xml アニメーション ファイルに渡すにはどうすればよいでしょうか? または、画面サイズに応じてトランジションの量を調整するより良い方法はありますか?

アニメーションを呼び出す方法は次のとおりです。

Animation translateAnimation = AnimationUtils.loadAnimation(first.this, R.anim.translate);
textBox.startAnimation(translateAnimation);

Translate.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:fromYDelta="0" android:toYDelta="-160" android:duration="50" />
4

1 に答える 1

1

質問の最初の部分に答えるには、可視性を変更したビューでinvalidate()を呼び出すことをお勧めします。2番目の部分では、現在コードの遷移をどのように調整しているかを示すことができれば、より良いかもしれません。

于 2012-08-29T08:59:55.187 に答える