您的位置:首页 > 其它

自定义圆角dialog

2015-07-30 10:08 281 查看
最近项目要做一个圆角的弹出框 本以为很快就搞定了 但是却遇到了困难 整圆角的时候 始终整不好 老是有一点点点白的东西作怪 百度了好久 好多都不好使 什么重写dialog了

乱七八糟的,还是要自己来,废话不说 上主要的代码

final Dialog dialog=new Dialog(mContext, R.style.Dialog_Fullscreen);

dialog.setContentView(R.layout.money_dialog);

dialog.getWindow().setGravity(Gravity.CENTER);

dialog.getWindow().setLayout((int) (JZBConstants.WIDTH-dip_px_Util.convertDipOrPx(mContext, 60)), (int) (JZBConstants.HEIGHT/5+dip_px_Util.dip2px(mContext, 40)));

dialog.setCanceledOnTouchOutside(true);

<?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/money_dialog_bg" >

<TextView

android:id="@+id/money_dialog_paywho"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:gravity="center_horizontal"

android:text=""

android:textSize="16sp" />

<EditText

android:id="@+id/money_dialog_count"

android:layout_width="match_parent"

android:layout_height="35dp"

android:layout_below="@id/money_dialog_paywho"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:layout_marginTop="20dp"

android:background="@drawable/money_dialog_edittext_bg"

android:hint="请输入支付金额"

android:inputType="numberDecimal"

android:padding="5dp"

android:textSize="14sp"

android:textColorHint="#b2b2b2" />

<LinearLayout

android:id="@+id/money_dialog_container"

android:layout_width="match_parent"

android:layout_height="50dp"

android:layout_alignParentBottom="true"

android:orientation="horizontal" >

<Button

android:id="@+id/money_dialog_cancle"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:background="@drawable/money_dialog_left_button_bg"

android:text="取消"

android:textColor="#3cc2a7" />

<View

android:layout_width="1dp"

android:layout_height="match_parent"

android:background="#c9c9c9" />

<Button

android:id="@+id/money_dialog_enter"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:background="@drawable/money_dialog_right_button_bg"

android:text="确定"

android:textColor="#3cc2a7" />

</LinearLayout>

<View

android:layout_width="match_parent"

android:layout_height="1dp"

android:layout_above="@id/money_dialog_container"

android:layout_marginTop="20dp"

android:background="#c9c9c9" />

</RelativeLayout>

这个是布局 最重要的就是设置背景 这个视图有个背景设置圆角 在drawable中

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"

android:shape="rectangle" >

<solid android:color="#FFFFFF"/>

<corners android:radius="5dp"/>

</shape>

就是做到这个关键的一步 出错了 虽然有圆角了 但是 有点白色的东西圆角旁边 看着好恶心

所以还是设置dialog的背景样式 要透明

接下来就是解决问题的关键

</style>

<style name="Dialog_Fullscreen">

<item name="android:windowNoTitle">true</item>

<item name="android:windowFrame">@null</item>

<item name="android:windowIsFloating">true</item>

<item name="android:windowBackground">@color/transparent</item><!--背景透明-->这个地方设置背景透明 就解决问题 那个恶心的东西就消失了

<item name="android:windowContentOverlay">@null</item>

</style>

忘了告诉大家 背景透明是 #00000000 嘿嘿
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: