• 自定义Dialog的模版


    package com.yxcorp.gifshow.homepage.wiget;

    import android.app.Dialog;
    import android.content.Context;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    import com.yxcorp.gifshow.home.R;


    public class SelfDialog extends Dialog {
    private Button mPositiveButton;
    private Button mNegativeButton;
    private String mPositiveStr, mNegativeStr;

    private mNegativeOnclickListener mNegativeOnclickListener;
    private mPositiveOnclickListener mPositiveOnclickListener;


    public void setNegativeOnclickListener(String str, mNegativeOnclickListener mNegativeOnclickListener) {
    if (str != null) {
    mNegativeStr = str;
    }
    this.mNegativeOnclickListener = mNegativeOnclickListener;
    }

    public void setPositiveOnclickListener(String str, mPositiveOnclickListener mPositiveOnclickListener) {
    if (str != null) {
    mPositiveStr = str;
    }
    this.mPositiveOnclickListener = mPositiveOnclickListener;
    }

    public SelfDialog(Context context) {
    super(context, R.style.MyDialog);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.custom_dialog);
    setCanceledOnTouchOutside(false);

    initView();
    initEvent();

    }

    private void initEvent() {
    mPositiveButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    if (mPositiveOnclickListener != null) {
    mPositiveOnclickListener.onPositiveClick();
    }
    }
    });
    mNegativeButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    if (mNegativeOnclickListener != null) {
    mNegativeOnclickListener.onNegativeClick();
    }
    }
    });
    }

    private void initView() {
    mPositiveButton = findViewById(R.id.bt_positive);
    mNegativeButton = findViewById(R.id.bt_negative);
    }

    public interface mPositiveOnclickListener {
    public void onPositiveClick();
    }

    public interface mNegativeOnclickListener {
    public void onNegativeClick();
    }
    }


    custom_dialog.xml
    <?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="#11ffffff">

    <LinearLayout
    android:layout_width="260dp"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:background="@drawable/free_dialog"
    android:orientation="vertical">

    <TextView
    android:textStyle="bold"
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_margin="15dp"
    android:gravity="center"
    android:text="快手"
    android:textColor="#000000"
    android:textSize="16sp" />

    <TextView
    android:id="@+id/message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="70dp"
    android:text="确定退出当前用户吗?" />

    <View
    android:layout_width="match_parent"
    android:layout_height="1px"
    android:layout_marginTop="30dp"
    android:background="#E4E4E4" />

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:orientation="horizontal">

    <Button
    android:id="@+id/bt_negative"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_marginLeft="10dp"
    android:layout_weight="1"
    android:background="@null"
    android:gravity="center"
    android:singleLine="true"
    android:text="@string/cancel"
    android:textColor="#7D7D7D"
    android:textSize="16sp" />

    <View
    android:layout_width="1px"
    android:layout_height="match_parent"
    android:background="#E4E4E4" />

    <Button
    android:id="@+id/bt_positive"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_marginRight="10dp"
    android:layout_weight="1"
    android:background="@null"
    android:gravity="center"
    android:singleLine="true"
    android:text="@string/ok"
    android:textColor="#FF5722"
    android:textSize="16sp" />
    </LinearLayout>
    </LinearLayout>
    </RelativeLayout>


    free_dialog.xml
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">

    <solid android:color="#ffffff" />
    <stroke
    android:width="0.8dp"
    android:color="#ffffff" />
    <!-- 圆角 -->
    <corners android:radius="6dp" />

    </shape>


    <!--自定义dialog背景全透明无边框theme -->
    <style name="MyDialog" parent="android:style/Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
    </style>



  • 相关阅读:
    MSDN仿站
    跟我学android—02.CustomActivity
    iptables redirect outside requests to 127.0.0.1
    linux 查看端口使用情况
    防火墙、Iptables、netfilter/iptables、NAT 概述
    POSTROUTING与PREROUTING区别
    android:layout_gravity和android:gravity的区别
    EasyUI datagrid 分页Json字符串格式
    [转载]easyui datagrid 时间格化(JS 日期时间本地化显示)
    [转载]EasyUI Pagination 分页的两种做法
  • 原文地址:https://www.cnblogs.com/liunx1109/p/12262814.html
Copyright © 2020-2023  润新知