`
cq520
  • 浏览: 166615 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

安卓中对话框的使用以及清除位图上资源的方法

阅读更多

我们知道在写JAVA代码时经常需要用到的一个东西就是对话框(Dialog),比如说我们编写的程序,别人在用的时候,我们需要给用户一些提示,而这些提示如果总是以窗口的形式弹出来难免比较麻烦,而且也加重了程序员的负担,但是很多人对安卓开发中对话框的弹出以及使用不太了解,下面有一段示例:

AlertDialog.Builder dialog=new AlertDialog.Builder(getContext());

                                          dialog.setTitle("白棋赢了");

                                          dialog.setMessage("是否开始新的一局");

                                          dialog.setPositiveButton("确定", surelistener);

                                          dialog.setNegativeButton("取消",cancellistener);

                                       dialog.show();

这是在写安卓五子棋的时候弹出一个对话框的方法,首先要用到AlertDialog.Builder来创建一个dialog对象,后面的 new AlertDialog.Builder();

括号中的应该写的是当前类的对象(Context),也就是说如果我们想要在当前的Activity中弹出对话框,这里就可以写this,这里的getContext是因为这是写在一个我写的MyView类里面的,MyView继承了ImageView中的getContext的方法.

然后在dialog中也提供了很多方法,如设置标题(Title,信息(Message,还有两个按钮,一个是PositiveButton,一个是NetgativeButton,里面需要输入两个值,前面一个是按钮上面的文字,后面一个是按钮的监听器,需要注意的是,这里的按钮监听器是包含在android.content.DialogInterface这个包里面的。

       灵活的使用对话框不仅使得代码更加简洁,也加强了用户的体验性,接下来还有一个知识点,就是如何清除位图上的资源,有两个方法,一个是将我们的位图上面的资源设为透明,map.eraseColor(Color.TRANSPARENT);//map是我们创建的位图对象,

当然,这样做的话,位图上的资源肯定还在,只是我们看不到了,如果要完全清除位图上的资源,就要采用下面的方法,p是我们创建的画笔对象Paint,c是我们创建的Canvas对象,如下:

p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));

         Rect rect = new Rect(0, 0, 320, 320);

//这里的后面两个值要和我们创建的Bitmap对象的大小相同

         p.setStyle(Paint.Style.FILL);

            c.drawRect(rect, p);

            p.setStyle(Paint.Style.FILL_AND_STROKE);                

            p.setXfermode(null);

      不过,上面设置透明的方法也有一定的好处,一是在于代码比较简洁,二是在某些场合下,我们无法完成第二种方法,比如说我们是要在另外一个Activity的方法中清空这里的位图资源,使用第二种方法肯定会有一些需要考虑的地方,比如说画笔(Paint)与画布(Canvas)必须是公有的,而这种方法显然只需要Bitmap对象是公有的即可。这样可以避免在多个不同的类中同时含有画笔与画布对象,但有时候需要公用,有时候又需要分开用的情况。

分享到:
评论

相关推荐

    在对话框上动态更新位图的程序

    在Windows编程中,特别是在开发GUI(图形用户界面)应用程序时,有时我们需要在对话框上动态显示不断变化的信息,比如图表、动画...通过合理使用对话框、位图控件和定时器,我们可以创建出具有生动视觉效果的应用程序。

    将对话框上显示的位图打印出来

    3. **位图复制**:使用`BitBlt`函数将对话框中的位图复制到内存DC。这个函数可以将一个设备上下文的部分区域复制到另一个设备上下文。 4. **设置打印机DC属性**:调整打印机DC的页面设置,包括纸张大小、方向等,...

    vc++实现在对话框中预览位图小程序

    vc++实现在对话框中预览位图小程序vc++实现在对话框中预览位图小程序vc++实现在对话框中预览位图小程序vc++实现在对话框中预览位图小程序vc++实现在对话框中预览位图小程序vc++实现在对话框中预览位图小程序

    在对话框中添加矩形位图

    创建位图资源后,下一步是在对话框上定义一个控件来显示这个位图。这通常是通过对话框编辑器完成的。打开对话框的IDD文件,例如IDD_MYDIALOG,在设计视图中右键点击,选择“插入控件”,然后选择“静态控件”。调整...

    在对话框上动态显示位图

    在编程领域,尤其是在Windows应用程序开发中,经常需要在对话框上动态显示图像,例如位图。这个场景在很多应用中都很常见,比如照片预览、用户头像展示等。"在对话框上动态显示位图"这个程序的核心是实现图片的逐个...

    对话框中动态显示位图

    本文将详细介绍如何在对话框中动态显示位图,包括设计思路、具体实现步骤以及关键代码片段。 #### 静态显示位图的方法及局限性 静态显示位图是指通过预先定义的方式在对话框中固定展示某个位图。这种方式通常借助于...

    弹出对话框打开和保存位图

    综上所述,"弹出对话框打开和保存位图"涉及的关键技术包括`OpenFileDialog`和`SaveFileDialog`的使用,以及`Bitmap`类的文件操作。通过这些技术,开发者可以为用户提供友好的界面,让他们方便地选择和管理位图资源。...

    visual c++ vc自定义半透明对话框 显示半透明位图对话框和位图按钮.zip

    综上所述,这个压缩包提供了关于在VC++中创建半透明对话框和位图按钮的示例,同时也揭示了在使用GDI+和特定库时需要注意的问题,以及不同VC++版本间的兼容性问题。学习和理解这些知识点对于深入理解Windows程序设计...

    修改对话框标题栏的位图

    本文将详细介绍如何在已有位图的对话框上修改标题栏位图以及如何为没有位图的对话框添加位图。 #### 已有位图的对话框修改标题栏位图 对于已经具有位图的对话框,我们可以通过以下步骤来替换现有的位图: 1. **...

    7.如何在文件对话框中预览位图文件?(Visual C++编程 源代码)

    7.如何在文件对话框中预览位图文件?(Visual C++编程 源代码)7.如何在文件对话框中预览位图文件?(Visual C++编程 源代码)7.如何在文件对话框中预览位图文件?(Visual C++编程 源代码)7.如何在文件对话框中...

    为VC++应用程序对话框添加透明位图

    本课题“为VC++应用程序对话框添加透明位图”探讨的就是如何在MFC(Microsoft Foundation Classes)框架下,使对话框具有透明区域,特别是如何在对话框上显示透明位图。 首先,我们需要理解Windows图形设备接口...

    基于位图的对话框例子

    位图对话框是一种在Windows应用程序开发中实现自定义对话框界面的方法,特别是在MFC(Microsoft Foundation Classes)框架下。此技术允许开发者通过加载位图文件来设计对话框的外观,而不是依赖于系统提供的标准控件...

    用位图填充对话框满屏显示位图_即按屏幕分辨率填充位图.rar

    描述中的“用位图填充整个对话框,用位图填充整个对话框拉伸位图作背景_StretchBlt_API函数用法”进一步指出了关键的技术手段——使用`StretchBlt` API函数来拉伸位图以适应对话框大小。 位图填充对话框通常是通过...

    预览并显示位图(MFC基于对话框)

    在对话框中,我们可以使用OnDraw成员函数来获取对话框的画图上下文: ```cpp CDC* pDC = GetDC(); ``` 3. **选择位图到设备上下文**: 在显示位图之前,需要将CBitmap对象选入到CDC中。这通过调用CDC的...

    在标准打开对话框中增添文本与位图的预览功能,附例程 (103KB)

    标题中的“在标准打开对话框中增添文本与位图的预览功能,附例程”表明,这是一个关于改进标准文件打开对话框的教程或代码示例。通常,标准的打开对话框只允许用户浏览和选择文件,而不提供预览功能。这个教程或代码...

    对话框边框位图

    设计师通常使用图像编辑工具(如Photoshop或GIMP)来创建和编辑这些位图,然后在代码中引用它们,用编程语言(如C#、Java或Python)实现动态应用到对话框上。 6. **自定义对话框**:通过使用这些位图,开发者可以...

    基于对话框的MFC程序加载位图为背景图案

    本文将深入探讨如何实现这一功能,主要涉及的知识点包括MFC对话框、位图处理以及自定义绘图。 首先,MFC是一个C++类库,它提供了对Windows API的封装,使得开发Windows应用程序变得更加容易。对话框(Dialog)是MFC...

    vc编程:利用对话框选择位图并显示

    使用vc6.0编程,通过打开菜单来打开一个对话框任选一幅位图显示出来,窗口重绘应能够显示

    在标准打开对话框中增添文本与位图的预览功能,附例程 (103KB)...

    标题中的“在标准打开对话框中增添文本与位图的预览功能,附例程”表明,这是一个关于增强Windows标准文件打开对话框的功能教程。通常,标准的打开对话框只提供文件名列表,但通过编程技术,我们可以添加额外的特性...

Global site tag (gtag.js) - Google Analytics