Dialog底部弹出自定义view并且伴随动画弹出和消失

原图

 点击后

 代码

@Override 
public void onClick(View view) { 
 switch (view.getId()) { 
  //加号逻辑 
  case R.id.iv_more: 
   AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this,R.style.remind_dialog); 
   LayoutInflater inflater = LayoutInflater.from(this); 
   View mInflate = inflater.inflate(R.layout.activity_plus, null); 
   iv_dialog_cacle = (ImageView) mInflate.findViewById(R.id.iv_cancel); 
   iv_dialog_cacle.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     dialog.dismiss(); 
    } 
   }); 
   dialog = builder.create(); 
   dialog.show(); 
   Window window = dialog.getWindow(); 
   window.setGravity(Gravity.BOTTOM); 
   window.setWindowAnimations(R.style.showdialog); 
   window.setContentView(mInflate); 
   WindowManager windowManager = getWindowManager(); 
   Display display = windowManager.getDefaultDisplay(); 
   WindowManager.LayoutParams lp= dialog.getWindow().getAttributes(); 
   lp.width = (int)(display.getWidth()); //设置宽度 
   dialog.getWindow().setAttributes(lp); 
   break; 
 } 
} 

remind_dialog

<style name="remind_dialog" parent="@android:style/Theme.Dialog"> 
 <item name="android:windowFrame">@null</item> 
 <item name="android:windowIsFloating">true</item> 
 <item name="android:windowIsTranslucent">false</item> 
 <item name="android:windowNoTitle">true</item> 
 <item name="android:background">@android:color/transparent</item> 
 <item name="android:windowBackground">@android:color/transparent</item> 
 <item name="android:backgroundDimEnabled">true</item> 
 <item name="android:windowAnimationStyle">@null</item> 
 <item name="android:windowFullscreen">true</item> 
</style> 

showdialog

<style name="showdialog" > 
   <item name="@android:windowEnterAnimation">@anim/dialog_enter</item> 
  <item name="@android:windowExitAnimation">@anim/dialog_exit</item> 
 </style> 

dialog_enter

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
 <translate 
  android:duration="200" 
  android:toYDelta="0%" 
  android:fillAfter="true" 
  android:fromYDelta="100%p" /> 
</set> 

dialog_exit

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" > 
 <translate 
  android:duration="200" 
  android:fromYDelta="0%" 
  android:fillAfter="true" 
  android:toYDelta="100%p" /> 
</set> 

以上所述是小编给大家介绍的Dialog底部弹出自定义view并且伴随动画弹出和消失,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。