https://github.com/zhangqifan1/PopDialog
1. 首先withScale 和 heightScale 一起使用 情景不对会无效,可以这样比如里边放一张ImageView,外层Layout为wrap_content,getLayoutParmes.height/width.撑起来
2.主要是在BaseDialog 修改了 Gravity 来设置 上中下
3.方法:
new CenterDialog(this) {
CustomDialogBinding bind;
@Override
View onCreateView() {
widthScale(0.5f); //设置宽 站屏幕比
// heightScale(0.5f); //设置高 站屏幕比
showAnim(new FadeEnter());// 入场动画
dismissAnim(new FadeExit());//出场动画
setCanceledOnTouchOutside(true); //设置点击消失
dimEnabled(true);//是否设置背景黑白
View inflate = View.inflate(MainActivity.this, R.layout.custom_dialog, null);
bind = DataBindingUtil.bind(inflate);
return inflate;
}
@Override
void setUiBeforShow() {
bind.tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Center", Toast.LENGTH_SHORT).show();
}
});
}
}.show();
根布局 缩放
https://download.csdn.net/download/flypig_vip/10874588
使用问题:
1.在自定义BaseDialog 里边 可以在构造方法里 使用 super(context,R.style.xxx);使用自定义的Style
<style name="custom_dialog_style" parent="android: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><!--除去title-->
<item name="android:backgroundDimEnabled">true</item><!--半透明-->
<item name="android:windowBackground">@color/mycolor</item><!--除去背景色-->
<item name="android:radius">10dp</item>
</style>
2.在使用阴影的情况下 出现问题 ,只有
widthScale(0.5f); heightScale(0.5f);
在俩个都使用的情况下阴影才会起作用,最主要一点Cardview不能作为根布局