我们知道Android系统提供的对话框样式实在有些简陋,如果你的应用程序很华丽,再配上一个简陋的对话框,显得格格不入。

SO.............我们可以通过反射技术来阻止对话框的关闭;设置对话框的透明度,设置按钮图像等。

在这里我们设置对话框按钮的图像和在内容文本中插入图像。需要结合HTML语言..

运行结果为:


Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像_第1张图片Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像_第2张图片

源代码为:

布局XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <Button        android:onClick="onclick_button"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="@string/hello_world" /></RelativeLayout>

JAVA源代码:

package com.example.dialog_image_text;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.graphics.drawable.Drawable;import android.text.Html;import android.text.Html.ImageGetter;import android.view.Menu;import android.view.View;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void onclick_button(View v) {new AlertDialog.Builder(this).setTitle("在对话框文本中插入图像和设置按钮图像").setMessage(Html.fromHtml("哈哈,<img src=''/>你好", new ImageGetter() {@Overridepublic Drawable getDrawable(String source) {// TODO Auto-generated method stubDrawable mDrawable = getResources().getDrawable(R.drawable.face);mDrawable.setBounds(0, 0, 32, 32);return mDrawable;}}, null)).setPositiveButton(Html.fromHtml("<img src=''/>确定", new ImageGetter() {public Drawable getDrawable(String source) {// TODO Auto-generated method stubDrawable mDrawable = getResources().getDrawable(R.drawable.ok);mDrawable.setBounds(0, 0, 20, 20);return mDrawable;}}, null), null).setNegativeButton(Html.fromHtml("<img src=''/>取消", new ImageGetter() {@Overridepublic Drawable getDrawable(String source) {// TODO Auto-generated method stubDrawable mDrawable = getResources().getDrawable(R.drawable.cancel);mDrawable.setBounds(0, 0, 20, 20);return mDrawable;}}, null), null).show();}}

ok.



更多相关文章

  1. android UI系列 - 自定义4.0风格多功能对话框(附图)
  2. Android UI组件进阶(1)——带进度条的按钮
  3. android UI进阶之可延伸的图像
  4. Android多媒体开发 Pro Android Media 第一章 Android图像编程入
  5. Android图像处理之色彩特效处理(学习笔记)
  6. [Android基础系列]轻松实现按钮的鼠标悬停背景切换
  7. 【Android 内存优化】Bitmap 图像尺寸缩小 ( 考虑像素密度、针对
  8. Android提交Http请求时,显示对话框进度条并修改UI元素
  9. Android View 高级框架二 Builder模式打造通用对话框

随机推荐

  1. Android的交叉编译工具
  2. (转)android SQLite的使用
  3. Android之监听手机软键盘弹起与关闭
  4. android之WakeLock机制浅析
  5. Android层次化安全架构及核心组件概览
  6. Android版本演进史
  7. Android快速开发框架-------afinal
  8. Android(安卓)App 获取root权限后,执行she
  9. 安卓开发日记--2017.10.10
  10. 引用Android(安卓)Design包出现的错误