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="您的手机存储控件不足\n请清理空间后重试"
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>
alertdialog.builder 自定义弹窗的更多相关文章
- 自定义弹窗 VS AlertDialog分享弹窗
一.摘要 弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框:双击返回按钮,弹窗退出对话框:下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框,都可以直接使用Alert ...
- 对话框AlertDialog.Builder使用方法
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...
- Android详细的对话框AlertDialog.Builder使用方法
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继 ...
- AlertDialog.Builder对话框类的用法
1.在测试时,如何实现一个提示 可以使用 Toast.makeText(this, "这是一个提示", Toast.LENGTH_SHORT).show(); //从资源文件str ...
- AlertDialog.Builder 样式设置
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDia ...
- 2.5.3 使用alertDialog创建自定义对话框
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...
- 第26讲 对话框AlertDialog的自定义实现
第26讲对话框AlertDialog的自定义实现 比如我们在开发过长当中,要通过介绍系统发送的一个广播弹出一个dialog.但是dialog必需是基于activity才能呈现出来,如果没有activi ...
- 少走弯路——Android对话框AlertDialog.Builder使用方法简述
android的自定义对话框,不需要通过继承的方式来实现,因为android已提供了相应的接口Dialog Builder ,下面就是 样例: new AlertDialog.Builder(this ...
- android AlertDialog.Builder
AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog. 要创建一个AlertDialog,就要用到AlertD ...
随机推荐
- log4j---------学习总结(一)
一.log4j框架 log4j可靠的,快速的,可扩展的(灵活的)日志框架 log4j具有高可配置性,可以通过外部配置文件来控制 log4j可以根据日志不同级别来过滤日志, log4j可以将日志记录直接 ...
- c#复习阶段
在控制台程序中使用结构体.集合,完成下列要求项目要求:一.连续输入5个学生的信息,每个学生都有以下4个内容:1.序号 - 根据输入的顺序自动生成,不需要手动填写,如输入第一个学生的序号是1,第二个是2 ...
- Python3基础 三元表达式实例
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- Eclipse如何生成jar包
Eclipse如何生成jar包 图1 右击项目Properites,选择Android,选择Is Library,然后会编译生成jar包在bin目录下.
- 利用jdbc处理oracle大数据---大文件和二进制文件
一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种 ...
- 【转载】COM多线程原理与应用
原文:COM多线程原理与应用 目录: COM多线程原理与应用 目录: 前言: 套间: 套间的定义: 套间的分类: 套间的进入和退出: 对象的同步: 组件对象的同步: COM对象线程模型: 进程内对象线 ...
- 专题:php页面跳转方法
php只有一种方法,利用JavaScript的window.location[和window.location.href效果相同]是一种方法,利用html的meta的Refresh是一种方法. 代码 ...
- FreeSWITCH 1.6在Debian 8上的安装
鉴于上次在CentOS 7上安装不成功,这次换Debian. 现在已经成功的CentOS 7上安装好了. 感兴趣的同学移步https://freeswitch.org/confluence/displ ...
- 哈理工软件学院"兆方美迪"杯第六届程序设计大赛【高年级组】--决赛 题解
比赛链接:http://acm-software.hrbust.edu.cn/contest.php?cid=1082 A.好SB啊真是,还以为lis-数有多少个数不一样. #include < ...
- CA*Layer(CAReplicatorLayer--)
CAReplicatorLayer (反射应用) 指定一个继承于UIView的ReflectionView,它会自动产生内容的反射效果: + (Class)layerClass//我们也可以通过重写V ...