您的位置:首页 > 其它

自定义对话框之动画效果

2014-11-06 18:17 218 查看
//参考博客
http://blog.csdn.net/dyllove98/article/details/8841602
//动画效果res/anim/enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="500"
android:fromAlpha="0.1"
android:toAlpha="1.0"
/>

<scale
android:duration="500"
android:toXScale="1"
android:fromXScale="0"
android:toYScale="1"
android:fromYScale="0"
android:pivotX="50%"
android:pivotY="50%"/>
</set>


res/anim/out.xml

<set
xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="500"
android:fromAlpha="1.0"
android:toAlpha="0.1"
/>
<scale
android:duration="500"
android:toXScale="0"
android:fromXScale="1"
android:toYScale="0"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"/>
</set>


android:pivotX="50%"

android:pivotY="50%"

以中心为缩放点

//res/value.xml
<style name="style_dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@drawable/bg</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:backgroundDimAmount">0.1</item>
<item name="android:windowAnimationStyle">@style/dialog_animation</item>
</style>

<style name="dialog_animation" >
<item name="android:windowEnterAnimation">@anim/enter</item>
<item name="android:windowExitAnimation">@anim/out</item>
</style>
//主要代码

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button button=(Button)this.findViewById(R.id.button);

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

verifyDialog();
}
});

}
private void verifyDialog()
{
final Dialog dialog = new Dialog(MainActivity.this, R.style.style_dialog);//可是只对话框的样式
dialog.setContentView(R.layout.img);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(true);
dialog.show();

}
}
//效果:进入时由中间想歪弹开,退出由外向内缩放
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: