界面场景:
点击中间"+"图标
此时中间"+"出现了一定幅度的旋转,实现了较好的交互体验,紧接着在底部导航栏的之上的位置弹出对话框。
首先实现点击“+”实现动画翻转:
1、 定义中间按钮为RadioButton,背景设置为一张图片
2、为图片点击设置监听
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
loadAnimation = AnimationUtils.loadAnimation(
getApplicationContext(), R.anim.btn_add);
imageView.startAnimation(loadAnimation);
startActivity(new Intent(MainActivity.this, AddActivity.class));
overridePendingTransition(android.R.anim.fade_in,
android.R.anim.fade_out);
}
});
anim动画btn_add的xml文件内容是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<rotate
android:duration="100"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="90" />
</set>
2.1 首先分析方法overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
Call immediately after one of the flavors of {@link #startActivity(Intent)}
or {@link #finish} to specify an explicit transition animation to
perform next.
意味着执行startActivity的动画
2.2 类似dialog的弹出窗口是通过startActivity(new Intent(MainActivity.this, AddActivity.class));
AddActivity的style定义:<activity
android:name="com.yuhj.ontheway.activity.AddActivity"
android:label="@string/title_activity_add"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
</activity>
备注:测试发现主要是AddActivity的半透明、五标题样式出现了AddActivity这样的效果,另外,overridePendingTransition(android.R.anim.fade_in,
android.R.anim.fade_out);为AddActivity的进入和退出设置了动画。