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

来源:互联网 发布:新卡购3.0外包系统源码 编辑:程序博客网 时间:2024/05/29 03:54
<!--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();

}

阅读全文
0 0