Dialog常用显示

作者: eirunye | 来源:发表于2017-05-17 00:35 被阅读68次

在做项目中我们经常会使用弹出框,一般会用到Dialog 、AlertDialog、或者PopupWindow。下面来实现以下Dialog

在Activity实现 如下:

    Dialog dialog = new Dialog(this, R.style.hanxunDialog);
    View view = LayoutInflater.from(this).inflate(R.layout.item_layout, null);
    dialog.setContentView(view);
    Window dialogWindow = dialog.getWindow();
    //设置显示屏幕位置
    dialogWindow.setGravity(Gravity.CENTER);
    WindowManager.LayoutParams lp =dialogWindow.getAttributes();
    //设置y坐标
    //lp.y = 20;
    //设置透明度
    lp.alpha = 0.5f;
    lp.dimAmount = 0.5f;
    dialogWindow.setAttributes(lp);

R.style.hanxunDialog 如下:

<style name="hanxunDialog" parent="@android:style/Theme.Dialog">
    //Dialog的windowFrame框为无
    <item name="android:windowFrame">@null</item>
    //是否浮现在activity之上
    <item name="android:windowIsFloating">true</item>
    //是否半透明
    <item name="android:windowIsTranslucent">true</item>
    //是否显示title
    <item name="android:windowNoTitle">true</item>
    //设置dialog的背景
    <item name="android:background">@android:color/transparent</item>
    //显示区域背景是否透明
    <item name="android:windowBackground">@android:color/transparent</item>
    //就是用来控制灰度的值,当为1时,界面除了我们的dialog内容是高亮显示的,dialog以外的区域是黑色的,完全看不到其他内容,系统的默认值是0.5
    <item name="android:backgroundDimAmount">0.5</item>
    //显示区域以外是否使用黑色半透明背景
    <item name="android:backgroundDimEnabled">false</item>
    //显示区域以外使用黑色半透明背景
 <!--<item name="android:backgroundDimEnabled">true</item>-->
</style>

R.layout.item_layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_margin="8dp"
          android:background="@drawable/bg_dialog_order_show"
          android:orientation="vertical">
<LinearLayout android:layout_width="300dp"
              android:layout_height="180dp"
              android:orientation="vertical">
    <TextView android:id="@+id/tv_order_titles"
              android:layout_width="match_parent"
              android:layout_height="40dp"
              android:layout_margin="8dp"
              android:layout_marginTop="8dp"
              android:gravity="center"
              android:text=""
              android:textSize="16sp"/>
    <TextView android:id="@+id/tv_order_msg"
              android:layout_width="match_parent"
              android:layout_height="40dp"
              android:layout_margin="8dp"
              android:layout_marginTop="8dp"
              android:gravity="center"
              android:text=""
              android:textSize="16sp"/>
    <TextView android:id="@+id/tv_order_cancel"
              android:layout_width="match_parent"
              android:layout_height="40dp"
              android:layout_margin="8dp"
              android:layout_marginTop="8dp"
              android:background="#CCC"
              android:gravity="center"
              android:text="确定"
              android:textSize="16sp"/>
</LinearLayout>
</LinearLayout>

drawable里面的 bg_dialog_order_show

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white"/>
    <stroke android:width="0.1dp"    android:color="#aea594"/>
    <corners android:radius="5dp"/>
</shape>

相关文章

网友评论

    本文标题:Dialog常用显示

    本文链接:https://www.haomeiwen.com/subject/immrxxtx.html