我们写项目的时候又是要自定义弹出美观的悬浮操作窗口,这里我们可以通过popUpWindow来时现:以下是点击按钮弹出popUpWindow用于选择本地上传图片的选择操作:
LayoutInflater mLayoutInflater = (LayoutInflater) activity
.getSystemService(activity.LAYOUT_INFLATER_SERVICE);
View headwindow = mLayoutInflater.inflate(你要显示几界面的ID(R.id.picchoose), null);
PopupWindow mPopupWindow = new PopupWindow(headwindow,
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
mPopupWindow.showAtLocation(view, Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
headalbum = (Button) headwindow.findViewById(R.id.button_headalbum);
headcamera = (Button) headwindow.findViewById(R.id.button_headcamera);
headquit = (Button) headwindow.findViewById(R.id.button_headquit);
headalbum.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 选择相册的图片
Intent mIntent1 = new Intent(Intent.ACTION_GET_CONTENT);
mIntent1.addCategory(Intent.CATEGORY_OPENABLE);
mIntent1.setType("image/*");
activity.startActivityForResult(mIntent1, ApplicationConstant.FROM_GALLERY);
mPopupWindow.dismiss();
}
});
headcamera.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 选择照相图片
Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// "android.media.action.IMAGE_CAPTURE"
// 获取这个图片的URI
File photofile = new File(photopath);
Uri originalUri = Uri.fromFile(photofile);// 这是个实例变量,方便下面获取图片的时候用
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, originalUri);
activity.startActivityForResult(mIntent, ApplicationConstant.FROM_CAMERA);
mPopupWindow.dismiss();
}
});
headquit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
mPopupWindow.dismiss();
}
});
xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#a0000000"
android:gravity="center_horizontal"
android:paddingTop="15dip" android:paddingBottom = "25dip"
>
<Button android:id="@+id/button_headcamera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_headcamera"/>
<Button android:id="@+id/button_headalbum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_headalbum"
android:layout_marginTop = "5px"/>
<Button android:id="@+id/button_headquit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_headquit"
android:layout_marginTop = "5px"/>
</LinearLayout>
当然界面你也可以定义成其他的方式这个靠你自由的发挥了。
调用本地的图库后可以在activity中重新写onActivityResult这个方法来获取你选择的图片
LayoutInflater mLayoutInflater = (LayoutInflater) activity
.getSystemService(activity.LAYOUT_INFLATER_SERVICE);
View headwindow = mLayoutInflater.inflate(你要显示几界面的ID(R.id.picchoose), null);
PopupWindow mPopupWindow = new PopupWindow(headwindow,
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
mPopupWindow.showAtLocation(view, Gravity.BOTTOM | Gravity.RIGHT, 0, 0);
headalbum = (Button) headwindow.findViewById(R.id.button_headalbum);
headcamera = (Button) headwindow.findViewById(R.id.button_headcamera);
headquit = (Button) headwindow.findViewById(R.id.button_headquit);
headalbum.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 选择相册的图片
Intent mIntent1 = new Intent(Intent.ACTION_GET_CONTENT);
mIntent1.addCategory(Intent.CATEGORY_OPENABLE);
mIntent1.setType("image/*");
activity.startActivityForResult(mIntent1, ApplicationConstant.FROM_GALLERY);
mPopupWindow.dismiss();
}
});
headcamera.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// 选择照相图片
Intent mIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// "android.media.action.IMAGE_CAPTURE"
// 获取这个图片的URI
File photofile = new File(photopath);
Uri originalUri = Uri.fromFile(photofile);// 这是个实例变量,方便下面获取图片的时候用
mIntent.putExtra(MediaStore.EXTRA_OUTPUT, originalUri);
activity.startActivityForResult(mIntent, ApplicationConstant.FROM_CAMERA);
mPopupWindow.dismiss();
}
});
headquit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
mPopupWindow.dismiss();
}
});
xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#a0000000"
android:gravity="center_horizontal"
android:paddingTop="15dip" android:paddingBottom = "25dip"
>
<Button android:id="@+id/button_headcamera"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_headcamera"/>
<Button android:id="@+id/button_headalbum"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_headalbum"
android:layout_marginTop = "5px"/>
<Button android:id="@+id/button_headquit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_headquit"
android:layout_marginTop = "5px"/>
</LinearLayout>
当然界面你也可以定义成其他的方式这个靠你自由的发挥了。
调用本地的图库后可以在activity中重新写onActivityResult这个方法来获取你选择的图片
发表评论
-
android aidl 主进程子进程间数据相互传递
2012-12-18 11:49 3961android中进程间的通信对与大量的接口的调用的时候,一般是 ... -
android 实现在titlebar上显示进度条
2012-11-13 18:48 865先是在setContextView之前设置界面的样式 requ ... -
android 实现下拉刷新的功能
2012-11-13 15:41 4309在android中有时我们要实现下拉刷新的功能,我在前日人的基 ... -
android aidl进程间方法的调用
2012-10-10 14:21 1642android 进程的通信很多,可以用intent传递数据,可 ... -
listView 点击一个Item效果
2012-01-13 17:20 6本人刚做一个项目需求是这样的:展示通话记录的列表,点击每一条记 ... -
android aidl
2012-01-11 11:12 1055android中的进程间的通信很多,下面粗略的讲解一下如何实现 ... -
android 权限大全
2011-12-22 20:08 889android.permission.ACCESS_CHECK ... -
android Action大全
2011-12-21 20:26 1166String ADD_SHORTCUT_ACTION 动作 ... -
android 自定义桌面
2011-12-03 16:23 14141、 把背景图片push到SDCard中 adb pu ... -
android 游戏开发加载界面获取资源文件中图片ID的集合
2011-12-03 13:18 4979主要给大家介绍如何加载界面的图片。正如前面Abs ... -
android 判断网络是否连接可用
2011-12-03 13:06 1694// 判断网络是否正常 public static boole ... -
火星通讯录
2011-11-25 20:27 1427一、用.rar打开apk文档,得到文档结构图如下所示 ... -
android 四种加载模式2
2011-11-16 11:13 996singleInstance模式解决了这个问题(绕了这么半天才 ... -
activity 的四种加载的模式1
2011-11-16 11:11 1030在android应用的开发中有时会activity之间的重复的 ... -
android 面试题
2011-11-09 20:17 1042android 面试题 1.android中进程和进程间的通信 ... -
android ksoap调用天气预报
2011-11-08 19:27 5130下面例子改自网上例子:http://express.ruank ... -
android NDK
2011-11-03 21:34 2074Cygwin+Android NDK的安装 时 间 版 本 ... -
android 判断sdcard是否存在,以及写入权限
2011-10-16 16:57 5784做android 开发的时候经常涉及到权限的问题,而我们像sd ... -
android bitmap
2011-10-14 11:02 849对于android终端应用软件开发的人员来说图片显示时,如果图 ... -
android notification
2011-10-14 10:39 1050前些天刚刚做一个项目的预演,要用到广播通知,一下是一些小的学习 ...
相关推荐
在Android开发中,PopupWindow是一个非常实用的组件,它允许我们创建浮动窗口,可以在Activity的任何位置显示。在实现特定的UI设计时,比如底部弹出菜单或对话框,我们可能会遇到需要添加底部灰色背景的需求。这个...
在这个项目中,"popupwindow调用相机相册"是一个实现用户通过PopupWindow来选择拍照或者从相册选取图片的功能。下面将详细介绍这个功能的实现步骤和涉及的技术点。 首先,我们需要创建一个PopupWindow实例,通常在...
在Android开发中,PopupWindow和Activity是两个非常重要的组件。PopupWindow通常用于创建浮动窗口,如下拉菜单、提示框等,而Activity则是应用程序的基本单元,承载着用户界面和业务逻辑。两者之间的数据传递是实现...
在Android开发中,PopupWindow是一个非常实用的组件,它可以用来创建各种形式的浮动窗口,比如在屏幕边缘弹出的菜单。本教程将详细介绍如何利用PopupWindow实现右侧、左侧和底部弹出菜单,以提供丰富的交互体验。 ...
在Android开发中,`PopupWindow`是一个非常重要的组件,它允许开发者在主界面之上显示一个临时的、可定制的窗口,通常用于实现各种形式的下拉菜单、提示信息或者简单的对话框效果。在这个"Android PopupWindow的Demo...
在Android开发中,PopupWindow是一种常用的UI组件,它可以在屏幕上的任意位置显示一个浮动窗口,通常用于实现类似下拉菜单、提示框等效果。在这个场景中,我们要实现的是从屏幕底部弹出的PopupWindow,并带有滑动...
在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一个浮动的窗口,通常用于在界面中弹出一些临时性的交互元素。本示例程序"Android PopupWindow 示例程序一"着重展示了如何创建并控制PopupWindow使其...
在Android开发中,"从下方弹出的popupwindow拍照裁剪"是一个常见的用户交互功能,通常用于实现类似相机应用中的照片拍摄和编辑操作。PopupWindow是Android SDK提供的一种可以浮动显示在Activity上的UI组件,它不是...
在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来创建弹出式窗口,类似于下拉菜单、提示框或者浮动视图。这个组件在许多场景下都非常有用,例如在主界面之上显示附加信息或者提供附加操作。下面将...
在Android开发中,`PopupWindow`是一个非常实用的组件,常用于实现各种弹出窗口的效果,比如下拉菜单、提示信息等。`PopupWindow`提供了丰富的自定义能力,包括动画效果,使得应用的交互体验更加生动有趣。本教程将...
在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种浮现在当前视图之上的窗口效果,常用于实现下拉菜单、提示框等。本篇将详细讲解如何利用PopupWindow实现一个具有泡泡效果,并且包含ListView的...
在Android开发中,PopupWindow是一种常用的UI组件,它可以在屏幕上的任意位置弹出一个窗口,通常用于显示一些临时的信息或者菜单。在这个特定的场景中,我们关注的是如何在PopupWindow中实现图片的缩放功能。这涉及...
在Android开发中,`PopupWindow`是一个非常实用的组件,它允许我们创建浮动且可定制的视图,可以在屏幕上的任意位置弹出。这个组件常用于实现下拉菜单、提示信息或者快速操作等效果。本篇文章将深入探讨如何使`...
Android PopupWindow显示在控件上方或者下方,完整的例子下载分享给有需要的人;内部填充数据用的自定义LinearLayout,可以动态添加标题,在Activity中处理回调方法.项目中摘取,有些冗余代码,亲要自己简单处理下哦...
在Android开发中,PopupWindow是一个非常实用的组件,它能够以弹出窗口的形式展示内容,通常用于实现下拉菜单、提示信息或者对话框等效果。本篇将详细讲解如何使用PopupWindow来创建单选和复选对话框,并讨论如何...
在Android开发中,`PopupWindow` 是一个非常实用的组件,它允许我们创建弹出式窗口,用于显示一些临时信息或者交互操作。本教程将详细讲解如何封装一个通用的`PopupWindow`,以便在项目中复用,降低代码冗余,提高...
在Android开发中,PopupWindow是一种常用的轻量级弹窗组件,用于在屏幕任意位置显示一个浮层视图。本文将详细讲解如何实现标题所描述的功能:“popupwindow弹窗实现点击按钮,下方弹出popwindow,并且只是按钮下方有...
在Android开发中,PopupWindow是一个非常实用的组件,它能够帮助开发者实现类似气泡提示、下拉菜单等弹出窗口效果。本篇文章将详细介绍如何在Android应用中使用PopupWindow,并通过一个具体的案例来演示其基本用法。...
PopupWindow在Android开发中是一个非常实用的组件,它允许开发者创建弹出式窗口,用于显示临时信息或提供交互式操作。在微信等社交应用中,PopupWindow常用于下拉菜单、快捷操作、提示信息等场景。本文将详细介绍...
在Android开发中,PopupWindow是一个非常实用的组件,它能够创建一种类似对话框的效果,但比Dialog更加灵活,可以自定义显示的内容和位置。本文将详细介绍如何在Android应用中使用PopupWindow,包括其基本概念、创建...