对话框工具类用法(一)
———选择对话框调用系统视频和即时录像
对话框的用途很广泛,很多时候,这些对话框我们都可以复用,这样能节省下来很多时间,所以今天在这里把关于对话框相关的代码整理一下,以便于日后阅读,日后如果有发现新的用法,也会在这里更新。
<!--[if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]--><!--StartFragment--><!--EndFragment-->
今次利用一个调用系统资源和选择对话框结合起来。
/** * 选择本地视频还是录制上传 */ private void showChooseDialog(int type) { AlertDialog.Builder builder = new Builder(context); if (type == Configs.Type.VIDEO) { builder.setTitle("发送视频"); builder.setItems(new String[] { "即时发送", "本地发送" }, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Intent intent = null; switch (which) { case 0: Intent intent_video = new Intent( MediaStore.ACTION_VIDEO_CAPTURE); intent_video.putExtra( MediaStore.EXTRA_VIDEO_QUALITY, Configs.Format.VIDEO_QUALITY); intent_video.putExtra( MediaStore.EXTRA_SIZE_LIMIT, Configs.Format.VIDEO_SIZE_LIMIT); intent_video.putExtra( MediaStore.EXTRA_DURATION_LIMIT, Configs.Format.LIMIT_VIDEO_DURATION); if (checkMemoryCard()) { startActivityForResult( intent_video, Configs.Code.REQUEST_CODE_TAKE_VEDIO); } break; case 1: intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType( MediaStore.Video.Media.EXTERNAL_CONTENT_URI, "video/*"); startActivityForResult(intent, Configs.Code.REQUEST_CODE_ALBMN_VIDEO); break; } } }); } builder.create().show(); } 在onActivityResult方法里面 case Configs.Code.REQUEST_CODE_TAKE_VEDIO: Uri videoUri = data.getData(); Cursor videoCursor = this.getContentResolver().query(videoUri, null, null, null, null); if (videoCursor != null && videoCursor.moveToNext()) { videoFilePath = videoCursor.getString(videoCursor .getColumnIndex(VideoColumns.DATA)); // int id = videoCursor.getInt(videoCursor // .getColumnIndex(VideoColumns._ID)); // Bitmap videoBitmap = Thumbnails.getThumbnail( // getContentResolver(), id, Thumbnails.MICRO_KIND, // null); videoCursor.close(); } sendFile(to, videoFilePath); videoFilePath = null; break; case Configs.Code.REQUEST_CODE_ALBMN_VIDEO: Uri video_uri = data.getData(); String[] video_proj = { MediaStore.Video.Media.DATA }; Cursor _videoCursor = getContentResolver().query(video_uri, video_proj, null, null, null); if (_videoCursor != null) { int column_index = _videoCursor .getColumnIndexOrThrow(MediaStore.Video.Media.DATA); if (_videoCursor.getCount() > 0 && _videoCursor.moveToFirst()) { videoFilePath = _videoCursor.getString(column_index); sendFile(to, videoFilePath);// 发送视频文件 videoFilePath = null; } else { Toast.makeText(this, "视频未找到", Toast.LENGTH_SHORT) .show(); } } else { Toast.makeText(this, "视频未找到", Toast.LENGTH_SHORT).show(); }
相关推荐
本资源“安卓Dialog对话框相关-自定义对话框工具类简单好用UI自定义代码简洁.zip”主要关注的是如何自定义Dialog,使UI更加符合应用需求,并且保持代码简洁高效。 1. **Dialog的基础使用** Android中的Dialog通常...
`Android-DialogAlchemy`是一个专门针对这个问题设计的对话框工具类库,它简化了对话框在屏幕旋转过程中的管理,确保对话框的状态能够正确保存和恢复。 `DialogAlchemy`的核心功能在于它提供了对对话框生命周期的...
本文将深入探讨如何创建一个具有选择功能的对话框(Dialog),包括使用AlertDialog及其Builder类。 ### 1. AlertDialog简介 AlertDialog是Android SDK提供的一种内置对话框类型,它提供了多种样式和行为,可以用于...
在Windows应用程序开发中,对话框(Dialog Box)是一种常见的用户界面元素,用于向用户提供特定的信息或接收用户的输入。对话框可以是模态的,即它会阻塞用户对其他窗口的操作,直到用户与对话框交互完毕;也可以...
在IT领域,软件对话框清除工具是一种专门设计用于帮助用户消除电脑中不受欢迎的软件弹窗和启动画面的实用程序。这些弹窗通常由各种广告软件、潜在有害程序(PUPs)或恶意软件造成,它们会在用户启动计算机或者运行...
例如,我们可以创建一个名为`MyDateDialog`的工具类,包含一个`showDatePickerDialog()`方法: ```java public class MyDateDialog { public static void showDatePickerDialog(Context context, ...
在MFC(Microsoft Foundation Classes)框架下,我们通常使用`CDialog`类作为对话框的基础,并通过重写其`OnInitDialog`函数来初始化对话框的控件和布局。 添加菜单的过程如下: 1. 在资源编辑器中,打开RC文件,...
通过实例化这个类并调用它的`getOpenFileName()`或`getOpenFileNames()`方法,我们可以创建并显示一个标准的文件选择对话框。这两个方法分别用于选取单个文件和多个文件。 ```cpp // 获取单个文件名 QString ...
本项目提供的就是一个简单的自定义对话框工具类,其特点在于代码简洁,易于理解和使用,同时也允许用户对对话框的UI进行自定义。 首先,我们来理解一下自定义对话框的基本概念。默认的Android对话框虽然实用,但...
在Microsoft Foundation Class (MFC)...总之,MFC对话框工具条添加组合框和编辑框的例子展示了如何在MFC应用中增强用户界面的交互性。通过理解并实践这些步骤,你将能够构建更加复杂的MFC应用,提供更丰富的用户体验。
对话框工具栏是一种常见的UI元素,它提供了一种快捷方式来执行常用操作,增强了用户的交互体验。 首先,我们需要理解MFC中的对话框(Dialog)。对话框是弹出式窗口,通常用于获取或显示信息。在MFC中,我们使用`...
在本文中,我们将深入探讨如何在Delphi XE10.1.2环境中实现一个Android平台上的文件选择和保存对话框。Delphi是一款强大的RAD(快速应用开发)工具,允许开发者使用Object Pascal语言构建跨平台的应用程序,包括...
在MFC中,对话框通常是基于CDialog派生的类,而工具栏则是基于CToolBar派生的类。为了在对话框中添加工具栏,我们需要在资源编辑器中设计工具栏的布局,包括每个按钮的位置、大小和图标。接着,在对话框类的初始化...
例如,如果一个操作需要用户的即时反馈或决策,那么模式对话框可能是最佳选择;而如果对话框提供的是辅助功能或可选设置,非模式对话框则更为合适。 在MFC中,对话框的设计通常涉及以下几个步骤: 1. 创建对话框...
首先,让我们来看看`java.awt.JOptionPane`类,它是Java中用于创建消息对话框的主要工具。`JOptionPane`提供了几种预定义的对话框类型,包括信息对话框、警告对话框、错误对话框、询问对话框和输入对话框。这些...
在Visual C++ (VC++) 开发环境中,为对话框添加工具栏是一个常见的需求,这能够增强用户界面的交互性和功能。下面将详细讲解如何在VC++中实现这一过程,以及涉及的相关文件及其作用。 首先,我们需要理解对话框...
总之,`文件夹选择对话框VC源码(目录对话框)`是MFC应用程序中用于扩展标准文件对话框功能的一个自定义组件,通过`CFolderDialog`类的实现,使得开发者能够轻松地在他们的程序中集成文件夹选择功能,从而提升用户...
本资源"VC MFC在对话框中添加工具栏.rar"应该是包含了一个示例项目,名为"DialogToolBar",用于演示如何在对话框中实现这一功能。 首先,我们需要理解MFC中的对话框和工具栏的概念。对话框通常是一个模态或非模态的...
2. 在添加类向导中,选择 MFC 类,名称为 CYourDlg。 3. 在类定义中,继承自 CDialog 类。 三、在视图中添加对话框类成员变量 在视图中添加对话框类成员变量,是将对话框嵌入到视图的关键步骤。具体步骤如下: 1....
2. **定义对话框类**:接着,你需要创建一个表示对话框的类。这个类通常会继承自特定的对话框基类,比如在C++中可能是`CDialog`,在Java中可能是`JDialog`,在Python的wxPython库中则是`wx.Dialog`。 3. **重写...