android 的 AlertDialog 对话框样式可以修改吗

 我来答
huanglenzhi
2015-04-03 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517196
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部

  Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是创建一个指定的 AlertDialog 和 AlertDialog.Builder 类。

  定义外观

  我们希望将上面默认的对话框外观修改为如下图所示的新对话框风格:

  该对话框将支持下面特性:

  可从资源或者字符串直接指定对话框标题

  可从资源、字符串和自定义布局来设置对话框内容

  可设置按钮和相应的事件处理

  回到顶部

  编写布局、样式和主题

  该对话框使用一个定制的布局来输出内容,布局定义的id将用于访问标题 TextView,下面是定义文件:

<?xml version="1.0" encoding="utf-8"?>
 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:minWidth="280dip"
    android:layout_height="wrap_content">
 
  
    <LinearLayout
        android:orientation="vertical"
        android:background="@drawable/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
  
        <TextView
            style="@style/DialogText.Title"
 
            android:id="@+id/title"
            android:paddingRight="8dip"
            android:paddingLeft="8dip"
            android:background="@drawable/title"
            android:layout_width="wrap_content"
 
            android:layout_height="wrap_content"/>
  
    </LinearLayout>
  
    <LinearLayout
        android:id="@+id/content"
        android:orientation="vertical"
        android:background="@drawable/center"
 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
  
        <TextView
            style="@style/DialogText"
            android:id="@+id/message"
            android:padding="5dip"
 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
  
    </LinearLayout>
  
    <LinearLayout
        android:orientation="horizontal"
        android:background="@drawable/footer"
 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
  
        <Button
            android:id="@+id/positiveButton"
            android:layout_marginTop="3dip"
            android:layout_width="0dip"
 
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:singleLine="true"/>
  
        <Button
            android:id="@+id/negativeButton"
 
            android:layout_marginTop="3dip"
            android:layout_width="0dip"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:singleLine="true"/>
 
  
    </LinearLayout>
  
</LinearLayout>

  根节点 LinearLayout 的宽度设置为 fill_parent 而最小的宽度是 280dip ,因此对话框的宽度将始终为屏幕宽度的 87.5%

  自定义的主题用于声明对话框是浮动的,而且使用自定义的背景和标题视图:

  编写对话框和 Builder 类

 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活he家
2015-04-03 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
可以修改的,甚至是可以自定义的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小陈小站
2015-04-03 · 超过16用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:35.1万
展开全部
你需要自定义Dialog控件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式