ボタンのクリックによってトリガーされるいくつかのことを実行します。
private void onSearchPressed() {
title.setVisibility(View.GONE);
etActionSearch.setVisibility(View.VISIBLE);
etActionSearch.requestFocus();
btnActionFavs.setVisibility(View.GONE);
etActionSearch.setAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), R.anim.et_anim_open));
isSearch = true;
}
したがって、基本的には一部を非表示にしViews
て他の一部を表示するだけです。EditText
単純なセットを使用して「スライドアウト」していAnimation
ます。
アクションがキャンセルされると、プロセスが逆になります。
private void onSearchCancelled() {
etActionSearch.setAnimation(AnimationUtils.loadAnimation(
getApplicationContext(), R.anim.et_anim_close));
etActionSearch.setVisibility(View.GONE);
btnActionFavs.setVisibility(View.VISIBLE);
title.setVisibility(View.VISIBLE);
isSearch = false;
}
私がやりたいのは、アニメーション (反対方向) を私の に適用することですEditText
。そのため、スライド アニメーションでも消えます。問題は、すべてのコードがすぐに実行されるため、EditText
アニメーションが完了する前に が消えてしまうことです。AsyncTask
を使用してアニメーションをdoInBackground()
メソッド内に配置し、の可視性を設定するなど、いくつかの奇妙なことを試しViews
ましonPostExecute()
たが、何も変わりSystemClock.sleep()
ませんでした..また、ラグの印象以外は何もしません。解決策はありますか?