【Android开发VR实战】一.给用户呈现一个360°全景图片
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53905681
本文出自【DylanAndroid的博客】
【Android开发VR实战】一.给用户呈现一个360°全景图片
VR即Virtual Reality虚拟现实。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。
那么,如何在Android中去开发VR功能的APP呢?我们利用谷歌提供的开源SDK去实现一个360°全景图片的功能
一.在build.gradle中引入谷歌VR的SDK依赖
compile 'com.google.vr:sdk-panowidget:1.10.0'
二.注意支持的最小SDK
minSdkVersion 19targetSdkVersion 25
三.界面布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"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="cn.bluemobi.dylan.vrdevelop.MainActivity"><TextView
android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="AndroidVR开发360度全景图片" /><com.google.vr.sdk.widgets.pano.VrPanoramaView
android:id="@+id/vr_pan_view"android:layout_width="match_parent"android:layout_marginTop="20dp"android:layout_height="250dp"></com.google.vr.sdk.widgets.pano.VrPanoramaView>
</LinearLayout>
四.加载360°全景图片
/*** 加载360度全景图片*/private void load360Image() {vr_pan_view = (VrPanoramaView) findViewById(R.id.vr_pan_view);/**获取assets文件夹下的图片**/InputStream open = null;try {open = getAssets().open("andes.jpg");} catch (IOException e) {e.printStackTrace();}Bitmap bitmap = BitmapFactory.decodeStream(open);/**设置加载VR图片的相关设置**/VrPanoramaView.Options options = new VrPanoramaView.Options();options.inputType = VrPanoramaView.Options.TYPE_STEREO_OVER_UNDER;/**设置加载VR图片监听**/vr_pan_view.setEventListener(new VrPanoramaEventListener() {/*** 显示模式改变回调* 1.默认* 2.全屏模式* 3.VR观看模式,即横屏分屏模式* @param newDisplayMode 模式*/@Overridepublic void onDisplayModeChanged(int newDisplayMode) {super.onDisplayModeChanged(newDisplayMode);Log.d(TAG, "onDisplayModeChanged()->newDisplayMode=" + newDisplayMode);}/*** 加载VR图片失败回调* @param errorMessage*/@Overridepublic void onLoadError(String errorMessage) {super.onLoadError(errorMessage);Log.d(TAG, "onLoadError()->errorMessage=" + errorMessage);}/*** 加载VR图片成功回调*/@Overridepublic void onLoadSuccess() {super.onLoadSuccess();Log.d(TAG, "onLoadSuccess->图片加载成功");}/*** 点击VR图片回调*/@Overridepublic void onClick() {super.onClick();Log.d(TAG, "onClick()");}});/**加载VR图片**/vr_pan_view.loadImageFromBitmap(bitmap, options);}
五.GitHub
【Android开发VR实战】一.给用户呈现一个360°全景图片相关推荐
- 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...
- 【Android开发VR实战】二.播放360°全景视频
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发 ...
- android开发我的新浪微博客户端-用户授权页面功能篇(3.2)
==> 在上一篇实现了用户授权页面的UI,如上图,接下来要做的就是在这个基础上完成功能部分真正实现用户的授权认证,这一篇是android开发我的新浪微博客户端-OAuth篇(2.1)的具体应 ...
- android开发我的新浪微博客户端-用户授权页面UI篇(3.1)
看上面的图,其实这个页面的UI实现不复杂,首先是背景部分的实现这个参考 android开发我的新浪微博客户端-载入页面UI篇(1.1),重点来讲讲这个半透明的弹出对话框窗口是如何实现的,首先新建名为A ...
- Android开发项目实战:实现折叠式布局,android组件化开发与sdk
android:layout_width="match_parent" android:layout_height="200dp"> <androi ...
- android高级开发强化实战,高级Android开发强化实战[PDF][215.59MB]
内容简介 本书收集了约20个关于高级Android开发的进阶实例,这些实例都是对在日常开发中遇到的问题的抽象,涉及整个Android开发的各个技术栈.本书从常见的问题入手,引导读者逐步地掌握进阶的各个 ...
- Android开发中父类与子类通讯的一个简单实现
在给出解决方案之前,提出一个问题:Android开发中如何将父类的改变及时通知给子类? 好吧,开始抓耳挠腮,可算是找出了解决方案: 1.在子类内注册父类的监听器 2.通过广播接收者(Broadcast ...
- Android开发系列——实战篇5:自适应屏幕尺寸(超详细教程)
在实战篇4中构建了界面之后,在模拟器中完好的布局,在实际下载到手机上的时候,却出现了布局不协调的问题. 在模拟器Nexus6上的布局界面: 在真机HUWEI P10 Plus上的布局界面: 在真机HU ...
- Android 8,Android开发经典实战
/** 判断是否是8.0,8.0需要处理未知应用来源权限问题,否则直接安装 */ private void checkIsAndroidO() { if (Build.VERSION.SDK_INT ...
最新文章
- SKU表管理之查询获取sku表列表数据
- 解决 win10 下载文件时 没有权限保存到某盘
- 03.native方法(JNI)
- devices-list
- 洛谷-P1903 数颜色 分块 bitset
- 基于汇编语言及Proteus仿真的CPU8086水库水位监视系统
- 未来的GDI:WPF技术纵览[zz]
- JPEG库在Linux系统下的编译和移植【转】
- my ReadBook_liutongjingjixue / circulation economics
- 微服务网关 gateway
- 什么软件可以编辑PDF,PDF怎么拆分页面
- 机器学习算法优缺点_用于机器学习的优化算法的优缺点
- Altium Designer导入Allegro17.4 PCB文件
- 幼儿园计算机技能大赛,幼儿园新教师五项技能比赛
- Java五子棋游戏开发博客
- 教你十秒钟学会剪映抠绿幕
- 《Android开发自我整理知识——简介及学习资料链接》
- 均质机工作原理动画_【绝对原创,高压均质机结构图】
- Winform 串口通讯之地磅
- Maven使用指南(超详细)