自定义弹出框Dialog

来源:互联网 发布:淘宝新店能开直通车吗 编辑:程序博客网 时间:2024/05/03 08:53

最近在做一个项目,需要用到弹出框,但是系统的AlertDialog,PopupWindow等等均不能满足要求,于是自定义的问题就来了,刚开始使用的AlertDialog来修改样式,但是无法去除系统的分割线,至少我是没找到方法,如果谁知道请不吝赐教,最后使用Dialog成功的定义出来了,废话不多说,看效果图吧。



直接上代码:

1.自定义的布局title.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:orientation="vertical">    <TextView        android:layout_width="wrap_content"        android:layout_height="20dp"        android:layout_gravity="center_horizontal"        android:layout_marginBottom="@dimen/dimen_10dp"        android:layout_marginTop="10dp"        android:text="提示"        android:textColor="#000"        android:textSize="16sp" />    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center_horizontal"        android:layout_marginBottom="@dimen/dimen_5dp"        android:gravity="center"        android:text="确定要退出登陆吗?"        android:textColor="#000"        android:textSize="16sp" />    <ImageView        android:layout_width="match_parent"        android:layout_height="@dimen/dimen_1dp"        android:background="#999999" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <TextView            android:id="@+id/tv_cancle"            android:layout_width="@dimen/dimen_0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:gravity="center"            android:padding="@dimen/dimen_10dp"            android:text="取消"            android:textColor="#0F82FF"            android:textSize="18sp" />        <ImageView            android:layout_width="@dimen/dimen_1dp"            android:layout_height="match_parent"            android:background="#999999" />        <TextView            android:id="@+id/tv_ok"            android:layout_width="@dimen/dimen_0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:gravity="center"            android:padding="@dimen/dimen_10dp"            android:text="确定"            android:textColor="#0F82FF"            android:textSize="18sp"            android:typeface="monospace" />    </LinearLayout></LinearLayout>

2.在style里面添加如下属性,一会要引用:

 <style name="Translucent_Dialog" parent="@android:style/Theme.Dialog">        <item name="android:background">@android:color/transparent</item>
<!--颜色可以自己设置在color里面-->        <item name="android:windowBackground">@color/click_bg_normal</item>        <item name="android:backgroundDimEnabled">true</item>    </style>
3.Java代码部分:

View view = View.inflate(getActivity(), R.layout.title, null);        TextView tv_cancle = (TextView) view.findViewById(R.id.tv_cancle);        TextView tv_ok = (TextView) view.findViewById(R.id.tv_ok);        final Dialog mDialog = new Dialog(getActivity(), R.style.Translucent_Dialog);        //去除标题的位置,否则无论你怎么设置都会出现一片空白的位置        mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);        mDialog.setTitle("提示");        mDialog.setContentView(view);        mDialog.setCanceledOnTouchOutside(false);        mDialog.show();        // 设置dialog的宽度        WindowManager.LayoutParams params = mDialog.getWindow().getAttributes();        params.width = 500;        params.height = 220;        mDialog.getWindow().setAttributes(params);        tv_cancle.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                mDialog.dismiss();            }        });        tv_ok.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                editor.remove("token").commit();                mDialog.dismiss();                Intent intent = new Intent(settingsFragmentActivity, DibuDaohangActivity.class);                intent.putExtra("code", -1);                startActivity(intent);            }        });



0 0
原创粉丝点击