ボタンのクリックによってトリガーされるいくつかのことを実行します。
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()ませんでした..また、ラグの印象以外は何もしません。解決策はありますか?