当前位置:   article > 正文

制作一个简单的VR显示_vr软件画面设置代码xml

vr软件画面设置代码xml

xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <layout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. xmlns:app="http://schemas.android.com/apk/res-auto"
  5. xmlns:tools="http://schemas.android.com/tools">
  6. <data>
  7. </data>
  8. <RelativeLayout
  9. android:layout_width="match_parent"
  10. android:layout_height="match_parent"
  11. tools:context=".activity.PanoramaActivity">
  12. <com.google.vr.sdk.widgets.pano.VrPanoramaView
  13. android:layout_width="match_parent"
  14. android:layout_height="match_parent"
  15. android:id="@+id/supermarket_vr" />
  16. </RelativeLayout>
  17. </layout>

java:

  1. package com.example.supermarket.activity;
  2. import android.graphics.Bitmap;
  3. import android.graphics.BitmapFactory;
  4. import android.util.Log;
  5. import com.alibaba.android.arouter.facade.annotation.Route;
  6. import com.example.common.util.CCRouterTable;
  7. import com.example.http.base.BaseViewJavaModel;
  8. import com.example.supermarket.R;
  9. import com.example.supermarket.databinding.ActivityPanoramaBinding;
  10. import com.example.view.base.BaseJavaActivity;
  11. import com.google.vr.sdk.widgets.pano.VrPanoramaEventListener;
  12. import com.google.vr.sdk.widgets.pano.VrPanoramaView;
  13. import com.gyf.immersionbar.BarHide;
  14. import com.gyf.immersionbar.ImmersionBar;
  15. import java.io.IOException;
  16. import java.io.InputStream;
  17. @Route(path = CCRouterTable.SUPERMARKET_HOTEL_PANORAMA)
  18. public class PanoramaActivity extends BaseJavaActivity<ActivityPanoramaBinding, BaseViewJavaModel> {
  19. @Override
  20. protected void initListener() {
  21. }
  22. @Override
  23. protected BaseViewJavaModel initViewModel() {
  24. return null;
  25. }
  26. @Override
  27. protected boolean isARouterInject() {
  28. return false;
  29. }
  30. @Override
  31. protected boolean useEventBus() {
  32. return false;
  33. }
  34. @Override
  35. public int getLayoutId() {
  36. return R.layout.activity_panorama;
  37. }
  38. @Override
  39. public void initData() {
  40. // 设置沉浸式状态栏 transparent:#00000000----完全透明
  41. //ImmersionBar.with(this)
  42. // .hideBar(BarHide.FLAG_HIDE_STATUS_BAR)
  43. // .fitsSystemWindows(false).init();
  44. // 加载全景图片
  45. load360Image();
  46. }
  47. /**
  48. * 加载全景图片
  49. */
  50. private void load360Image() {
  51. /**获取assets文件夹下的图片**/
  52. InputStream open = null;
  53. try {
  54. open = getAssets().open("pic.jpg");
  55. } catch (IOException e) {
  56. e.printStackTrace();
  57. }
  58. Bitmap bitmap = BitmapFactory.decodeStream(open);
  59. /**设置加载VR图片的相关设置**/
  60. VrPanoramaView.Options options = new VrPanoramaView.Options();
  61. // VR显示模式
  62. options.inputType = VrPanoramaView.Options.TYPE_MONO;
  63. binding.supermarketVr.setStereoModeButtonEnabled(false);//隐藏VR眼镜按钮
  64. binding.supermarketVr.setInfoButtonEnabled(false);//隐藏信息按钮
  65. // binding.supermarketVr.setFullscreenButtonEnabled(false);//隐藏全屏按钮
  66. /**设置加载VR图片监听**/
  67. binding.supermarketVr.setEventListener(new VrPanoramaEventListener() {
  68. /**
  69. * 显示模式改变回调
  70. * 1.默认
  71. * 2.全屏模式
  72. * 3.VR观看模式,即横屏分屏模式
  73. * @param newDisplayMode 模式
  74. */
  75. @Override
  76. public void onDisplayModeChanged(int newDisplayMode) {
  77. super.onDisplayModeChanged(newDisplayMode);
  78. }
  79. /**
  80. * 加载VR图片失败回调
  81. * @param errorMessage
  82. */
  83. @Override
  84. public void onLoadError(String errorMessage) {
  85. super.onLoadError(errorMessage);
  86. }
  87. /**
  88. * 加载VR图片成功回调
  89. */
  90. @Override
  91. public void onLoadSuccess() {
  92. super.onLoadSuccess();
  93. }
  94. /**
  95. * 点击VR图片回调
  96. */
  97. @Override
  98. public void onClick() {
  99. super.onClick();
  100. }
  101. });
  102. /**加载VR图片**/
  103. binding.supermarketVr.loadImageFromBitmap(bitmap, options);
  104. }
  105. }

效果图:

综合转载两篇文章:Android移动开发-VR全景照片简单实现 - 全栈程序员必看

【Android开发VR实战】一.给用户呈现一个360°全景图片_DylanAndroid的博客-CSDN博客_android vr开发

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/530945
推荐阅读
相关标签
  

闽ICP备14008679号