• android 自定义AlertDialog


    xml:

    alter_dialog_two

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="25dp"
            android:layout_marginRight="25dp"
            android:background="@drawable/line_gray_cancel"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/tv_alter_content"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:padding="10dp"
                android:text="1111"
                android:textColor="@android:color/black"
                android:textSize="@dimen/dialog_font" />
    
            <View
                style="@style/LineHorizontal.Gray_d8"
                android:layout_marginLeft="1dp"
                android:layout_marginRight="1dp" />
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:orientation="horizontal" >
    
                <Button
                    android:id="@+id/btn_two_cancel"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:background="@drawable/sel_alter_yes_bg"
                    android:gravity="center"
                    android:text="@string/cancel"
                    android:textColor="@color/blue_03"
                    android:textSize="@dimen/dialog_font" />
    
                <View
                    android:layout_width="1dp"
                    android:layout_height="match_parent"
                    android:layout_marginBottom="1dp"
                    android:background="@color/gray_d8" />
    
                <Button
                    android:id="@+id/btn_two_ok"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"
                    android:background="@drawable/sel_alter_no_bg"
                    android:gravity="center"
                    android:text="@string/ok"
                    android:textColor="@color/blue_03"
                    android:textSize="@dimen/dialog_font" />
            </LinearLayout>
        </LinearLayout>
    
    </LinearLayout>
    TwoBtnAlterDialog
    package com.android.hcframe.view;
    
    import android.app.Dialog;
    import android.content.Context;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.Window;
    import android.widget.Button;
    import android.widget.TextView;
    
    import com.android.hcframe.R;
    
    public class TwoBtnAlterDialog extends Dialog {
    
        private static TwoBtnAlterDialog twoBtnDialog = null;
        public static TextView tvAlterContent;
        public static Button btn_ok, btn_cancel;
    
        public TwoBtnAlterDialog(Context context) {
            super(context);
        }
    
        public TwoBtnAlterDialog(Context context, int theme) {
            super(context, theme);
        }
    
        public static TwoBtnAlterDialog createDialog(Context context,String msg) {
            twoBtnDialog = new TwoBtnAlterDialog(context, R.style.CustomAlterDialog);
            LayoutInflater inflater = LayoutInflater.from(context);
            View view = inflater.inflate(R.layout.alter_dialog_two, null);
            twoBtnDialog.setContentView(view);
            Window win = twoBtnDialog.getWindow();
            win.getAttributes().gravity = Gravity.CENTER;
    //        win.setWindowAnimations(R.style.dialogWindowAnimTop);
            
            tvAlterContent = (TextView) twoBtnDialog.findViewById(R.id.tv_alter_content);
            tvAlterContent.setText(msg);
            btn_ok = (Button) twoBtnDialog.findViewById(R.id.btn_two_ok);
            btn_cancel = (Button) twoBtnDialog.findViewById(R.id.btn_two_cancel);
            return twoBtnDialog;
        }
    
    }

    java调用:

     private static TwoBtnAlterDialog alterDialog;
    
        public static void twoBtnAlterDialog(final Context context, String msg) {
            if (alterDialog == null) {
                alterDialog = TwoBtnAlterDialog.createDialog(context, msg);
                TwoBtnAlterDialog.btn_ok.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Toast.makeText(context, "ok", Toast.LENGTH_SHORT).show();
                    }
                });
                TwoBtnAlterDialog.btn_cancel.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Toast.makeText(context, "cancel", Toast.LENGTH_SHORT).show();
                    }
                });
                alterDialog.show();
            } else {
                alterDialog.dismiss();
                alterDialog = null;
            }
    
        }
  • 相关阅读:
    【Devops】 Kubernetes 入门与基础
    【Devops】 DevOps基础与理念
    【Maven】 关于Maven,测试需要掌握的一些知识点
    【转】IntelliJ IDEA中Maven插件无法更新索引
    【Python】 RobotFramework 安装配置与简要操作
    【SpringBoot】 项目中运用的一些技巧,mybatis-plus 自动编译等(持续更新)
    Spring5源码分析(019)——IoC篇之解析alias标签、import标签和beans标签
    Spring5源码分析(018)——IoC篇之解析bean标签:注册解析的BeanDefinition
    Spring5源码分析(017)——IoC篇之解析bean标签:解析默认标签中的自定义标签
    Java学习驿站——Mark
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5378881.html
Copyright © 2020-2023  润新知