Android 谷歌推荐的VR实现方式(分享)
更新时间:2018年01月18日 10:01:31 作者:键盘舞者113
下面小编就为大家分享一篇Android 谷歌推荐的VR实现方式。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
谷歌有专门的SDK来完成VR,我这次以一个全景图片的例子来说一下这个SDK实现VR的基本过程,首先全景图片就是百度地图里的那样,能够看到周围环境360的图片。
添加依赖
compile 'com.google.vr:sdk-panowidget:1.80.0'
添加权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.GET_TASKS"/>
实现代码
public class GoogleVRActivity extends AppCompatActivity { private VrPanoramaView mVrPanoramaView; private VrPanoramaView.Options paNormalOptions; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_google_vr); initVrPaNormalView(); } @Override protected void onPause() { super.onPause(); mVrPanoramaView.pauseRendering(); } @Override protected void onResume() { super.onResume(); mVrPanoramaView.resumeRendering(); } @Override protected void onDestroy() { // Destroy the widget and free memory. super.onDestroy(); mVrPanoramaView.shutdown(); } //初始化VR图片 private void initVrPaNormalView() { mVrPanoramaView = (VrPanoramaView) findViewById(R.id.mVrPanoramaView); paNormalOptions = new VrPanoramaView.Options(); paNormalOptions.inputType = VrPanoramaView.Options.TYPE_STEREO_OVER_UNDER; // mVrPanoramaView.setFullscreenButtonEnabled (false); //隐藏全屏模式按钮 mVrPanoramaView.setInfoButtonEnabled(false); //设置隐藏最左边信息的按钮 mVrPanoramaView.setStereoModeButtonEnabled(false); //设置隐藏立体模型的按钮 mVrPanoramaView.setEventListener(new ActivityEventListener()); //设置监听 //加载本地的图片源 mVrPanoramaView.loadImageFromBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.andes), paNormalOptions); //设置网络图片源 // panoWidgetView.loadImageFromByteArray(); } private class ActivityEventListener extends VrPanoramaEventListener { @Override public void onLoadSuccess() {//图片加载成功 } @Override public void onLoadError(String errorMessage) {//图片加载失败 } @Override public void onClick() {//当我们点击了VrPanoramaView 时候触发 super.onClick(); } @Override public void onDisplayModeChanged(int newDisplayMode) { //改变显示模式时候出发(全屏模式和纸板模式) super.onDisplayModeChanged(newDisplayMode); } } }
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dip" android:id="@+id/main_layout" android:orientation="vertical" > <TextView style="@style/ContentText" android:id="@+id/title" android:textSize="@dimen/title_text_size" android:textStyle="bold" android:textColor="@color/colorAccent" android:text="第二种谷歌官方VR演示" /> <TextView style="@style/ContentText" android:id="@+id/subtitle" android:textColor="@color/colorAccent" android:textSize="@dimen/caption_text_size" android:text="谷歌纸壳子demo" /> <TextView style="@style/ContentText" android:id="@+id/paragraph1" android:textColor="@color/colorAccent" android:textSize="@dimen/paragragh_text_size" android:text="鱼和熊掌不可兼得" /> <com.google.vr.sdk.widgets.pano.VrPanoramaView android:id="@+id/mVrPanoramaView" android:layout_width="match_parent" android:layout_height="250dip"/> </LinearLayout> </ScrollView>
VrPanoramaView这个类和Activity有着类似的生命周期,全屏显示是它自己设置的,这个VR 的SDK完成度很高,可以多去参考。
以上这篇Android 谷歌推荐的VR实现方式(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Android使用BroadcastReceiver监听网络连接状态的改变
这篇文章主要为大家详细介绍了Android使用BroadcastReceiver监听网络连接状态的改变,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-05-05Android TreeView效果实现方法(附demo源码下载)
这篇文章主要介绍了Android TreeView效果实现方法,结合实例形式分析了Android TreeView效果的实现原理与具体技巧,并附带demo源码供读者下载,需要的朋友可以参考下2016-02-02基于Android week view仿小米和iphone日历效果
这篇文章主要为大家详细介绍了基于Android week view仿小米和iphone日历效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-11-11
最新评论