Android进阶之AlertDialog自定义

AlertDialog的自定义方式有很多种,这里介绍两种。 第一种是比较简单的,只自定义内容。在AlertDialog使用详解中,非常详细的介绍了以下六种使用方法。一、简单的AlertDialog(只显示一段简单的信息,比如about us)二、带按钮的AlertDialog(显示提示信息,让用户操作,比如exit时的警告框)三、类似ListView的AlertDialog(展示内容,比如某人的一

大家好,又见面了,我是全栈君。

AlertDialog的自定义方式有很多种,这里介绍两种。

 

第一种是比较简单的,只自定义内容。

在AlertDialog使用详解中,非常详细的介绍了以下六种使用方法。

一、简单的AlertDialog(只显示一段简单的信息,比如about us)

二、带按钮的AlertDialog(显示提示信息,让用户操作,比如exit时的警告框)

三、类似ListView的AlertDialog(展示内容,比如某人的一些注册信息)

四、类似RadioButton的AlertDialog(让用户选择,单选)

五、类似CheckBox的AlertDialog(让用户多选)

六、自定义View的AlertDialog(当以上方式满足不了你的需求,就要自定义了)

\

最后的第六种也就是自定义内容的实现方式,比如想做一个这种登录对话框,通过前五种方式明显实现不了。

这时候就通过AlertDialog.Builder的setView把自己定义的登录界面设置进去,

而标题和按钮都还用Android原生的,如果你是像这种方式的自定义,请进前面链接查看最后一种方式。

 

这里介绍第二种方式。

先看一下效果,左图为原生的AlertDialog,右图为自定义的AlertDialog,这样自定义主要是为了让界面更加统一。

Android进阶之AlertDialog自定义Android进阶之AlertDialog自定义

代码如下:

String info = cityData.getPointerList().get(position).toString();
AlertDialog alertDialog = new AlertDialog.Builder(CityActivity.this).create();
alertDialog.show();
Window window = alertDialog.getWindow();
window.setContentView(R.layout.dialog_main_info);
TextView tv_title = (TextView) window.findViewById(R.id.tv_dialog_title);
tv_title.setText("详细信息");
TextView tv_message = (TextView) window.findViewById(R.id.tv_dialog_message);
tv_message.setText(info);

布局文件:

<?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="match_parent"
    android:background="#ffff"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_dialog_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#7a7"
        android:padding="8dp"
        android:textColor="#eee"
        android:textSize="20sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/tv_dialog_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:padding="3dp" />

</LinearLayout>

其实这里自定义的主要目的就是想让title的背景颜色显示绿色,与activity的背景绿一致,比较和谐。

AlertDialog是Dialog的子类,也可以直接基于Dialog自定义。方法很多,用到了再尝试。

 

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121337.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux查看java进程内存使用情况_java查看线程状态

    linux查看java进程内存使用情况_java查看线程状态1.查看java进程内存占用top-b-n1|grepjava|awk'{print”PID:”$1″,mem:”$6″,CPUpercent:”$9″%”,”mempercent:”$10″%”}’2.查看pid所在目录lsof-pPID3.查看剩余内存free-m

    2022年8月24日
  • linux bash 漏洞 利用,Linux Bash发现重大漏洞

    linux bash 漏洞 利用,Linux Bash发现重大漏洞LinuxBash发现重大漏洞Posted:26.09.2014|Author:QuenyWell|Category:LinuxGNUBourneAgainShell(Bash)是Linux和Unix系统中广泛使用的命令行Shell。最近发现的bash重大漏洞允许攻击者运行任意代码,从而接管系统。由于Bash使用广泛,而此漏洞的利用难度极低,可以预见近期将有大量基于此漏洞…

    2022年10月30日
  • gcc离线安装 ubuntu 不用编译_「ubuntu安装gcc」ubuntu18.04安装gcc详细步骤(附问题集) – seo实验室…[通俗易懂]

    gcc离线安装 ubuntu 不用编译_「ubuntu安装gcc」ubuntu18.04安装gcc详细步骤(附问题集) – seo实验室…[通俗易懂]ubuntu安装gcc首先是下载gcc包,可以在GCC的官方网站http://gcc.gnu.org/下载到各个版本。目前最高版本是gcc-8.2.0。一、在安装gcc前,需要先安装MPFR、GMP和MPCGCC编译需要mpfr和mpc(–>gmp、–>mpfr)库的支持,依次安装这几个库,其中mpfr可直接安装,安装mpc依赖mpfr和gmp库(对版本有要求,建议安装最…

    2022年7月24日
  • 2d游戏shader(效果)

    Shader2D:一些2D效果的Shader实现包括:模糊,锐化,圆形裁剪,正六边形裁剪,圆角,UV动画,百叶窗,马赛克,浮雕,铅笔画,水彩画,灰化,老照片,饱和度,HDR,内发光,外发光,扭曲,旋涡,波浪,水滴散开等

    2022年4月11日
  • countdowntimer_TIMESTAMPDIFF

    countdowntimer_TIMESTAMPDIFF需求:加载某一个界面,在页面中待5秒后再关闭效果图如下:设置了一个点击事件,当文字显示为Skipactivity时,点击跳转界面。代码及介绍如下图:核心功能代码如下Android自带的CountDownTimer这个工具类,也是通过Handler和子线程来实现的。//倒计时工具类CountDownTimer//CountDownTimer的构造方法有两个参数…

    2022年9月18日
  • 服务器硬盘整体ghost,ghost备份整个硬盘| 全盘镜像ghost步骤[通俗易懂]

    服务器硬盘整体ghost,ghost备份整个硬盘| 全盘镜像ghost步骤[通俗易懂]ghost备份整个硬盘|全盘镜像ghost步骤优点:全盘完全100%对拷,包括原有操作系统也可使用。新硬盘对拷结束后,可直接插上电脑使用。消耗时间最短。困难:对于第一次操作Ghost对拷的新人来说,需要严格对照图片步骤教程。一旦操作失误,可能导致原有母盘数据不可逆转丢失。步骤一:打开“ToDisk”对拷选项(1)首选打开Ghost工具,进入界面后,选择“Local”→“Disk”→“ToD…

    2022年9月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号