Android 实现由下至上弹出并位于屏幕底部的提示框


Android 实现由下至上弹出并位于屏幕底部的提示框:

  1.                 button.setOnClickListener(new OnClickListener() {  
  2. @Override  
  3. public void onClick(View arg0) {  
  4.     // TODO Auto-generated method stub   
  5.     AlertDialog dialog = new AlertDialog.Builder(TestAndroid1Activity.this)  
  6.             .setTitle("title").setMessage("message").create();  
  7.     Window window = dialog.getWindow();  
  8.     window.setGravity(Gravity.BOTTOM);  //此处可以设置dialog显示的位置   
  9.         window.setWindowAnimations(R.style.mystyle);  //添加动画   
  10.     dialog.show();  
  11. }  
  12. );  

styles.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.   
  4.     <style name="mystyle" parent="android:Animation">  
  5.         <item name="@android:windowEnterAnimation">@anim/dialog_enter</item>  //进入时的动画   
  6.         <item name="@android:windowExitAnimation">@anim/dialog_exit</item>    //退出时的动画   
  7.     </style>  
  8. </resources>  

位于 res/anim/dialog_enter.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3.       
  4.     <translate  
  5.         android:fromYDelta="100%p"       %p指相对于父容器  
  6.         android:duration="600"  
  7.         />  
  8. </set>  

位于 res/anim/dialog_exit.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3.        
  4.       <translate  
  5.           android:toYDelta="100%p"  
  6.           android:duration="600"    //持续时间   
  7.           />  
  8. </set>  

此处只是做了垂直位移的效果,自己还可以试试别的效果。

<alpha />         透明度

<rotate />         旋转

<scale />        缩放

相关内容