zoukankan      html  css  js  c++  java
  • alertdialog.builder 自定义弹窗

    <?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="wrap_content"
        android:layout_gravity="center">
    
        <ImageView
            android:id="@+id/titleImage"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:src="@drawable/worning"
            android:layout_marginBottom="-25dp"
            android:layout_centerHorizontal="true"
            android:visibility="invisible" />
    
        <RelativeLayout
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_below="@id/titleImage"
            android:background="@drawable/dialog_background">
            <RelativeLayout
                android:id="@+id/dialog_tip"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_marginTop="30dp"
                android:layout_centerHorizontal="true"
               >
                <View
                    android:id="@+id/dialog_line_one"
                    android:layout_height="0.5dp"
                    android:layout_width="70dp"
                    android:layout_marginLeft="0dp"
                    android:background="#AAA"
                    android:layout_centerVertical="true"
                    android:layout_marginTop="45dp"
                    />
                <TextView
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="12dp"
                    android:layout_marginTop="12dp"
                    android:layout_toRightOf="@id/dialog_line_one"
                    android:id="@+id/dialog_title"
                    android:text="温馨提示"
                    android:textColor="#AAA"
                    android:textSize="20sp" />
                <View
                    android:id="@+id/dialog_line_two"
                    android:layout_height="0.5dp"
                    android:layout_width="70dp"
                    android:layout_marginLeft="20dp"
                    android:layout_toRightOf="@id/dialog_title"
                    android:background="#AAA"
                    android:layout_centerVertical="true"
                    android:layout_marginTop="45dp"
                    />
            </RelativeLayout>
    
    
            <TextView
                android:id="@+id/dialog_content"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_marginTop="10dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:text="您的手机存储控件不足
    请清理空间后重试"
                android:gravity="center_horizontal"
                android:textSize="20sp"
                android:textColorHighlight="#2151E0"
                android:layout_centerHorizontal="true"
                android:layout_below="@id/dialog_tip"
                />
            <LinearLayout
                android:id="@+id/dialog_btns"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_below="@id/dialog_content">
    
    
                <Button
                    android:layout_weight="1"
                    android:id="@+id/dialog_btn_positive"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_marginTop="30dp"
                    android:text="确定"
                    android:textColor="#2cBF5F"
                    android:background="@drawable/btn_green_back"/>
                <Button
                    android:layout_weight="1"
                    android:id="@+id/dialog_btn_nagtive"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_toRightOf="@id/dialog_btn_positive"
                    android:layout_marginTop="30dp"
                    android:layout_marginLeft="20dp"
                    android:text="取消"
                    android:textColor="#2cBF5F"
                    android:background="@drawable/btn_green_back"
                    android:visibility="gone"
                    />
            </LinearLayout>
            <View
                android:layout_height="30dp"
                android:layout_width="match_parent"
                android:layout_below="@id/dialog_btns"/>
    
        </RelativeLayout>
    
        <ImageView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:src="@drawable/worning"
            android:layout_marginBottom="-25dp"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>
    

      

    弹窗实现方式大概有三种,这是使用系统的弹窗来实现的。标志性的方法是setview()

    final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(LoginActivity.this);
    final AlertDialog alertDialog = dialogBuilder.create();
    LayoutInflater inflater=LayoutInflater.from(LoginActivity.this);
    View view = inflater.inflate(R.layout.popup, null);

    TextView tv_content = (TextView) view.findViewById(R.id.dialog_content);
    tv_content.setText("确定要退出吗?");

    TextView tv_title= (TextView) view.findViewById(R.id.dialog_title);
    tv_title.setText("温馨提示");

    Button dialog_btn_positive= (Button) view.findViewById(R.id.dialog_btn_positive);
    dialog_btn_positive.setText("好");
    dialog_btn_positive.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    alertDialog.dismiss();
    finish();
    }
    });

    Button dialog_btn_nagtive= (Button) view.findViewById(R.id.dialog_btn_nagtive);
    dialog_btn_nagtive.setText("取消");
    dialog_btn_nagtive.setVisibility(View.VISIBLE);
    dialog_btn_nagtive.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    alertDialog.dismiss();
    }
    });

    alertDialog.show();
    alertDialog.setContentView(view);

    ---11.12日,在魅族手机MX4以上,有人说会感叹号后面有个矩形的背景色----
    说下解决办法 :
    很简单 ,至修改一个地方就可以
    new AlertDialog.Builder(new ContextThemeWrapper(MyInfoActivity.this,R.style.WinDialog));

    <style name="WinDialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">false</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:background">@android:color/transparent</item>
    </style>




  • 相关阅读:
    生产者消费者模型
    进程对象及其他方法、僵尸进程与孤儿进程(了解)、互斥锁、进程间通信、IPC机制、生产者消费者模型
    并发编程总结
    京东618一元抢宝系统的架构优化读后感
    阿里游戏高可用架构设计实践 ------读后感
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    余额宝技术架构及演进-----读后感
    《架构漫谈》---读后感
    心理小程序开发进度七
    心理小程序开发进度九
  • 原文地址:https://www.cnblogs.com/qianyukun/p/4950152.html
Copyright © 2011-2022 走看看