<!--Dialog样式-->
<style name="DialogCustomCenter" 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:windowBackground">@android:color/transparent</item>
</style>
<!--Dialog动画样式-->
<style name="BottomDialog.Animation" parent="Animation.AppCompat.Dialog">
<item name="android:windowEnterAnimation">@anim/tranlate_dialog_in</item>
<item name="android:windowExitAnimation">@anim/tranlate_dialog_out</item>
</style>
tranlate_dialog_in
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="100%"
android:toXDelta="0"
android:toYDelta="0">
</translate>
tranlate_dialog_out
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="100%">
</translate>
private void showDialog() {
List<HomeItmeBean> list = new ArrayList<>();
list.clear();
HomeItmeBean bean = new HomeItmeBean();
for (int i = 0; i < 5; i++) {
bean.setTitle("10001" + i);
list.add(bean);
}
final Dialog dlg= new Dialog(mContext, R.style.DialogCustomCenter);
View contentView = LayoutInflater.from(mContext).inflate(R.layout.dialog_indent, null);
ImageView img_close = (ImageView) contentView.findViewById(R.id.img_close);
img_close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dlg.cancel();
} });
Window dialogWindow = dlg.getWindow();
// 设置位置
dialogWindow.setGravity(Gravity.CENTER);
// 设置dialog的宽高属性
dialogWindow.getDecorView().setPadding(20, 20, 20, 20);
dlg.setContentView(layout);
DisplayMetrics dm = new DisplayMetrics();
//取得窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);
//窗口的宽度
int screenWidth = dm.widthPixels - (int) (dm.widthPixels / 5);
dialogWindow.setLayout(screenWidth,
ViewGroup.LayoutParams.WRAP_CONTENT);
bottomDialog.getWindow().setGravity(Gravity.BOTTOM);
//设置dongh
bottomDialog.getWindow().setWindowAnimations(R.style.BottomDialog_Animation);
dlg.show();
}