自定义Dialog

来源:互联网 发布:人工智能 top10 编辑:程序博客网 时间:2024/06/07 12:28
public class MainActivity extends AppCompatActivity {
    private Dialog signRuleDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        signRule();
        signRuleDialog.show();
    }
    public void signRule() {
        signRuleDialog = new Dialog(this, R.style.MyDialog);
        View view = LayoutInflater.from(this).inflate(R.layout.sign_rule_dialog, null);
        Button bt = (Button) view.findViewById(R.id.sign_rule_btn);
        ImageView ic = (ImageView) view.findViewById(R.id.dialog_close);
        TextView tv = (TextView) view.findViewById(R.id.rule_tv);
        tv.setText("aaaaaaaaaaaaaaa");


        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                signRuleDialog.dismiss();
            }
        });
        ic.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                signRuleDialog.dismiss();
            }
        });


        Window window = signRuleDialog.getWindow();
        WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
        layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
        layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
        window.setAttributes(layoutParams);
        signRuleDialog.setContentView(view, layoutParams);
    }

}

新建sign_rule_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#fff"
        android:gravity="center"
        android:weightSum="1">


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"


            android:gravity="center"
            android:orientation="vertical">


            <LinearLayout
                android:id="@+id/dialog_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="36dp"
                android:layout_marginRight="36dp"
                android:orientation="vertical"
                android:showDividers="middle">


                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="55dp"
                    android:layout_gravity="center"
                    android:gravity="center"
                    android:text="签到规则"
                    android:textColor="#333333"
                    android:textSize="12sp"
                    android:textStyle="bold" />


                <View
                    android:layout_width="match_parent"
                    android:layout_height="5dp"
                    android:background="#f6f6f6" />


                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_margin="22dp"
                    android:orientation="vertical">


                    <TextView
                        android:id="@+id/rule_tv"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:textColor="#333333"
                        android:lineSpacingExtra="9dp"
                        android:textSize="12sp" />


                    <Button
                        android:id="@+id/sign_rule_btn"
                        android:layout_width="245dp"
                        android:layout_height="28dp"
                        android:layout_gravity="center_horizontal"
                        android:layout_marginTop="22dp"
                        android:background="@mipmap/ic_launcher"
                        android:gravity="center"
                        android:text="确定"
                        android:textColor="#fefefe"
                        android:textSize="12sp" />
                </LinearLayout>




            </LinearLayout>


            <ImageView
                android:id="@+id/dialog_close"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignRight="@+id/dialog_layout"
                android:layout_marginRight="-10dp"
                android:layout_marginTop="-10dp"
                android:scaleType="fitXY"
                android:src="@mipmap/ic_launcher_round" />
        </RelativeLayout>
    </LinearLayout>
</LinearLayout>

style添加

<style name="MyDialog" parent="android:Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsFloating">false</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
    </style>



原创粉丝点击