您的位置:首页 > 移动开发 > Android开发

Android编程之对话框

2015-08-27 22:19 429 查看

Android编程之对话框

以前编程总是不喜欢保存代码,但是每次开发要用到的时候,又得要自己写很麻烦,索性将自己编写的代码上传到博客备用。

1.对话框样式定义

<style name="add_dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item><!-- 边框 -->
<item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 -->
<item name="android:windowIsTranslucent">true</item><!-- 半透明 -->
<item name="android:windowNoTitle">true</item><!-- 无标题 -->
<item name="android:windowBackground">@drawable/button</item><!-- 自己想要的背景 -->
<item name="android:backgroundDimEnabled">true</item><!-- 模糊 -->
</style>


2.对话框的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/hall_payfail_dialog_bg" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical" >

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >

<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:background="@drawable/pay_fail_image"
android:scaleType="fitXY" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/pay_fail_close"
android:scaleType="fitXY" />
</RelativeLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="7"
android:gravity="center_horizontal"
android:background="@drawable/ddz_edit_bg"
android:paddingBottom="40dp"
android:orientation="vertical" >

<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="15dp"
android:layout_weight="3"
android:text="网络问题、运营商系统升级等原因会导致充值失败,请放心我们还未扣取您的任何费用。"
android:textColor="#47A3C1"
android:textSize="21sp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_weight="2"
android:text="建议尝试支付宝支付,充值就送20%金币"
android:textColor="#47A3C1"
android:textSize="25sp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="2"
android:text="¥8元=96000金币"
android:textColor="#47A3C1"
android:textSize="25sp" />

<Button
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_weight="3"
android:background="@drawable/btn_yanzhenma_image"
android:text="确定"
android:textColor="#FFFFFF"
android:textSize="27sp" />
</LinearLayout>
</LinearLayout>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_margin="3dp"
android:background="@drawable/dialog_image_bg" >

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:gravity="center_vertical"
android:text="如有问题请拨打免费"
android:textColor="#C1812E"
android:textSize="17sp" />
</RelativeLayout>


3.对话框的实现

Dialog dialog = new Dialog(this, R.style.add_dialog);
dialog.setContentView(R.layout.pay_fail_layout);
Window dialogWindow = dialog.getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.setGravity(Gravity.CENTER);

WindowManager m = getWindowManager();
Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
p.height = (int) (d.getHeight() * 0.8); // 高度设置为屏幕的0.8
p.width = (int) (d.getWidth() * 0.8); // 宽度设置为屏幕的0.8
dialogWindow.setAttributes(p);

dialog.show();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: