hwt主题文件怎么使用

hwt主题文件怎么使用,第1张

hwt文件是华为EMUI的主题文件,此文件可以通过下载后复制到手机指定目录后,再在手机主题管理界面中进行应用即可生效。

Emotion UI(简称Emui)是华为基于Android(安卓)进行开发的情感化操作系统。拥有简化的用户界面、新的手势导航和HiVision的“AI”功能,新系统在国内已经向部分机型推送更新,采用了自然极简的设计。其91版本设置项精简10%、全局统一化的设计、便捷的单手操作、全新的手势导航,提供了良好的交互体验;新UX融入了大自然的声音、色彩、光影,回归自然的沉浸式设计。在用户的许可情况下,手机可以利用自身配备的各种感应器以及相关技术来定位、跟踪时间和其它信息。这样一来,当用户在健身房,在开车或是在一个会议中时,手机都可以智能的为其选择最适合当前场景的情景模式。

  Android 应用程序中使用自定义主题的方法:

 1、新建一个项目 Lesson32_StyleAndTheme。

2、拷贝下面三张 Nine-Patch PNG到res/drawable目录下:

3、在按钮的同目录下建立一个文件btn_customxml,把上述3张整合成一个按钮背景文件,让三张成为不同状态下的按钮表现效果。具体写法如下:

<xml version="10" encoding="utf-8">  

<selector xmlns:android="http://schemasandroidcom/apk/res/android">  

        <item android:drawable="@drawable/btn_red" android:state_enabled="false">  

        <item android:drawable="@drawable/btn_orange" android:state_enabled="true" android:state_pressed="true">  

        <item android:drawable="@drawable/btn_orange" android:state_enabled="true" android:state_focused="true">  

        <item android:drawable="@drawable/btn_black" android:state_enabled="true">  

</item></item></item></item></selector>  

 4、在res/values目录下定义stylexml文件,内容如下:

<xml version="10" encoding="utf-8">  

<resources>  

<style name="BasicButtonStyle" parent="@android:style/WidgetButton">  

                <item name="android:gravity">center_vertical|center_horizontal</item>  

                <item name="android:textColor">#ffffffff</item>  

                <item name="android:shadowColor">#ff000000</item>  

                <item name="android:shadowDx">0</item>  

                <item name="android:shadowDy">-1</item>  

                <item name="android:shadowRadius">02</item>  

                <item name="android:textSize">16dip</item>  

                <item name="android:textStyle">bold</item>  

                <item name="android:background">@drawable/btn_custom</item>  

                <item name="android:focusable">true</item>  

                <item name="android:clickable">true</item>  

        </style>  

<style name="BigTextStyle">  

    <item name="android:layout_margin">5dp</item>  

                <item name="android:textColor">#ff9900</item>  

                <item name="android:textSize">25sp</item>  

  </style>  

<style name="BasicButtonStyleBigTextStyle">  

    <item name="android:textSize">25sp</item>  

  </style>  

</resources>  

5、在res/layout/目录下定义mainxml文件,内容如下:

<xml version="10" encoding="utf-8">  

<linearlayout xmlns:android="http://schemasandroidcom/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">  

        <textview android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="张信哲的热搜歌曲">  

        <button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="爱如潮水 " android:id="@+id/Button01">  

  </button>  

</textview></linearlayout>  

6、在res/values目录下定义themexml文件:

<xml version="10" encoding="utf-8">  

<resources>           

<style name="BasicButtonTheme">  

                <item name="android:buttonStyle">@style/basicbuttonstyle</item>  

                <item name="android:windowBackground">@android:color/transparent</item>     

                <item name="android:windowIsTranslucent">true</item>     

  </style>  

</resources>  

7、在AndroidManifestxml中给整个应用程序设置主题:

<xml version="10" encoding="utf-8">  

<manifest xmlns:android="http://schemasandroidcom/apk/res/android" package="androidbasiclesson32" android:versioncode="1" android:versionname="10">  

    <application android:theme="@style/BasicButtonTheme" android:label="@string/app_name" android:icon="@drawable/icon">  

        <activity android:label="@string/app_name" android:name="MainStyleAndTheme">  

            <intent -filter="">  

                <action android:name="androidintentactionMAIN">  

                <category android:name="androidintentcategoryLAUNCHER">  

            </category></action></intent>  

        </activity>  

    </application>  

    <uses -sdk="" android:minsdkversion="8">  

</uses></manifest>   

 8、程序的最终运行效果图如下:

作者现在正处微软公司总部,亲身体验HoloLens 2的演示项目。通过位于地下的长长走廊,穿过一扇沉重的金属侧拉门,我在微软员工的引导下进入了这个如 汽车 生产车间般的项目所在地。这里弥漫着一股橡胶轮胎的味道。在我面前的底座上,摆有一辆ATV全地形车。另外,房间各处都堆放着工具与零件。

这时候,工作人员将一部HoloLens 2交到我手中,并提醒我如何用它学习修车。

微软公司的HoloLens终于回来了。3年前,该公司发布了这款混合现实头戴设备的初代版本,而如今的新版本已经开始接受预订,价格为3500美元,计划于今年晚些时候全面出货。通过试戴,我发现不用摘眼镜就能很轻松地将它套在头上。这种感觉有点像 配戴 一台工业工具,或者焊工面具。设备显示内容非常清晰,我进行了眼动追踪设置,眼前出现了一个网格点。我跟随着该点从一个角落看向另一个角落,又从一侧望向另一侧。整个过程完全没问题,效果也很好。据了解,接下来微软最新打造的Dynamics 365 Guides还将引导应用正式启动,负责为使用者提供使用指令集。

更确切地说,这台设备就像是拥有了实际转向指示的谷歌地图,或者是能够直接显示拼装手册的乐高产品。当我把目光移向漂浮在面前空中的一张张指示卡片时,系统就会提醒我首先要让车子保持稳定。现在,一个浮动的箭头从3D空间中延伸向前,提醒我车子上的换档部位以及我应该如何对其进行切 换。 完成之后,我眨了眨眼睛并进行下一步。接下来,我开始调整车子底部已经松掉的链条。一个长长的虚线箭头指向靠近墙壁的一只工具箱,并进一步提示使用其中的棘轮。在这一步操作中我差一点抓错了,好在及时意识到箭头指向的是另一个工具。我把目光投向下一张卡片,有一条弧线向我展示了前往螺丝盒的路径,并将其拧进正确的孔位。

有时候,箭头的排列会出现一些问题。同时,我也很好奇,我会不会抓到错误的工具?如果我犯了错误,程序会及时加以纠正吗?我真的应该试着抓起错误的工具,看看设备会有什么反应——有点后悔。而且必须承认,在空间当中放置指向箭头有点像构建一个大型3D导航器,感觉上有点奇怪。在试用过程中,我不禁想到任天堂产品特别是Labo的使用经验——这是一款任天堂专门为其Nintendo Switch开发的 游戏 ,能够指导玩家通过屏幕上的指示利用精美的纸板进行创作小玩具。想象一下,配合HoloLens 2,这款 游戏 可能会到处弹出指导信息,并指向玩家面前的真实物体,而且整个系统完全以3D方式呈现。这样,世界一下子变会成乐高主题套装的模样!

值得一提的是,这次试用没有出现蜘蛛织网 游戏 ,我也没有玩到《我的世界》或者《光环》。四年之前,微软公司一直在强调HoloLens当中的 游戏 载体属性,但如今微软的整体态度也发生了转变,更多地展示其在企业应用场景下的巨大潜能。HoloLens 2是一台能够切实帮助企业员工的实用性设备,这意味着AR技术开始成为员工完成工作的重要助力。这台头戴式设备非常舒适,能够提供更好的视频以及更出色的眼睛与手部追踪体验。另外,它还与更多微软云服务相关联,而这些服务又能够进一步对接各类iOS与Android应用。

我还记得去年曾在Magic Leap上体验过《查理的巧克力工厂》,而微软HoloLens 2在使用感受上就像是Magic Leap的终极追求。当然,双方可能还需要沟通以确定这项技术的下一步发展方向。

显然,增强现实技术不再只是痴人说梦。苹果与谷歌公司一直在手机领域中 探索 这一技术,而包括Magic Leap在内的不少头戴设备厂商也在努力设计出一种舒适、功能性强且能够随身携带的全息显示解决方案。

第一款HoloLens的问世更像是一项成就或者一种标志,因为它可以自成一体、不需要电线甚至完全无需接入任何设备。而微软如今推出的新一代HoloLens 2也并没有引入什么全新概念,但却确立了一款头戴式设备必须具备的三大核心要素:眼动追踪、更大的视野以及更出色的手部追踪能力。当然,它也更加舒适,而且对需要佩戴眼镜的用户非常友好(包括我本人以及我的同事们),能够让我们轻轻松松罩在眼镜之上,带来非常好的体验。另外,HoloLens当中使用了一块高通850移动处理器负责运算执行,同时还配合微软自己的AI引擎以替换上一代HoloLens所使用的英特尔处理器。

对于没有实际比较的朋友们来说,这一次的新设计在观感上似乎与上代产品没什么区别。但我得告诉大家,新一代版本明显没那么笨重,份量也确实轻了一点。通过咨询,我们确定本代版本的重量减少至566克,折合125磅。虽然相较于初代版本的579克,折合128磅,减去的重量似乎非常有限,但之所以使用感受得到极大提升,主要归功于其重心分布的大幅调整。这一次的新版本加厚了用户后脑部位的护垫,而前部布置则相对较小。如今产品的整体重心位于耳朵再靠后一点的地方,这意味着使用感受有点像“戴上一顶棒球帽”。我松开头带,将设备戴在眼镜之上,仍然没有任何问题。新的重心转换意味着我们再也不用花整整5分钟时间才找到舒服的配戴的位置。通过试用,我们觉得新版本更像是背上一个背带设计更出色的背包。

另外,新版本甚至还提供了翻盖式的显示部分设计。显示镜处能够向上掀起,用户可以轻松回归真实视觉或者更轻松地执行常规工作——此前由合作伙伴开发的微软Windows Mixed Reality品牌VR设备就一直采用这样的设计。我很喜欢这种自在的感觉,现在我可以在演示当中随时擦擦自己的眼镜,或者挠挠额头。

HoloLens 2的硬件仍然自成一体,与前代设计一样,它不需要任何额外的腰部配戴装置(Magic Leap One就使用了这样的设计)。当然,这同时意味着HoloLens的头戴本体部分要比Magic Leap One更大(后者价格为2295美元),售价也比其贵上1000多美元。这样的差价无可厚非,因为Magic Leap One逼迫我戴上隐形眼镜,或者再配一副能够与其槽位匹配的镜片——目前,Magic Leap还不支持我的这种镜片。相比之下,HoloLens 2能够直接容纳我的眼镜,我非常喜欢这样的设计。

眼动追踪并不是VR及AR当中最重要的因素,至少目前还不是。第一款HooLens并不提供眼动追踪功能。当然,Magic Leap One已经支持这项功能,HTC Vive Pro Eye以及Varjo VR-1等高端企业级VR设备也开始引入。眼动追踪功能可以识别出用户使用内置摄像头时的位置,这意味着大家不再需要移动头部。

HoloLens 2的眼动追踪主要用于两大场景:它能够测量眼球运动并借此与虚拟物体进行交互。另外,微软也开始利用新的眼动追踪摄像头进行生物识别以保障安全。HoloLens 2通过Windows Hello进行虹膜扫描,因此用户可以立即登录Windows并启动个人账户,或者借此保存自己的个人设置选项。

更令人印象深刻的是,我之前体验过的大部分眼动追踪技术都会因为配戴眼镜而受到一定影响。比如,必须把带子调松一些,才能避免HTC Vive Pro Eye早期版本的演示无法正常起效。使用Tobii的眼动追踪VR技术时,也曾经发生过类似的情况。好消息是,在进行几轮HoloLens 2演示体验的过程中,这种问题一次也没有出现。

在此次体验当中,我试用过的唯一一项眼动追踪实际用途,就是利用自己的快速眼动在无需移动头部的情况下选定某个虚拟物体。我可以直接盯着这些物体并通过指令使其爆开,从而制造出大量虚拟水晶碎片。当然,这项功能还有更多实际用途:以Tobii为代表的众多企业软件厂商正在利用眼部追踪技术为用户创建所需要的分析结果与热图,从而改进培训效果。

但在谈到其它眼动追踪技术的应用方向时,似乎出现了一点偏差。微软公司技术研究员Alex Kipman表示,HoloLens 2的眼动追踪摄像头能够通过微小的眼部变化以及用户的注视位置来测量相应情绪。

但是,如果HoloLens都开始预测用户的感受,甚至是脑中的想法了,那接下来又会怎样?我不太确定。

在微软的Human Factors实验室当中,这款硬件经历了舒适性与可访问性测试。我们走进一个摆放着无数原型设备模型的房间,里面还有一张放着大量不同橡胶耳朵的桌子。微软公司高级设计总监Carl Ledbetter向我们展示了如何针对各种头型与耳廓特征对这款新设备进行舒适度、疲劳感以及眼部观看效果测试。另外,在某个角落的桌子上,还摆着一个嵌有传感器网的人体模型头部,这是一个脑电感应头盔。一眼望过去,我还以为自己来到了《少数派报告》**里的场景。

Ledbetter介绍称:“我们用它来测量脑波活动,甚至可以测量对象的思维负荷有多大。当然,我们并没有把所有成果都真正引入HoloLens。不过我们觉得这是个好机会,相关的结论可以被应用到其它一些项目当中。”

跟我一起参加这次体验的同事Ian SHerr问道,“HoloLens 3是不是就能读心了?”

“这个嘛……有可能吧”,我猜Ledbetter是在半开玩笑。当然,他没准是说真的。

全息显示就像一场魔术,而如果栩栩如生的显示效果在用户的视野之内就被硬生生切断,那么观感体验必然要大打折扣。第一代HoloLens的纵向可视角度约为30度,这种感觉就像是通过一扇窗户观看虚拟物体,而窗户的大小则是一张距离用户的脸只有几英寸的扑克牌。

HoloLens 2将视野扩展到了52度,微软公司表示这意味着新一代产品的有效可视区域达到了上代产品的两倍。这感觉就像是通过一扇与课本差不多大的窗户观看全息图像,纵向观察空间提升了不少。具体来看,如今的虚拟显示空间类似于使用台式机上的大号显示器,而上代HoloLens的使用感受则像是使用笔记本上的小屏幕。虽然HoloLens 2上仍然存在着某些3D效果被拦腰截断的情况,毕竟我的余光视觉没有受到任何遮挡,因此上下左右都存在着显示断层。但是,它的视野仍然要比Magic Leap One好得多,而Magic Leap One又比初代HoloLens好得多。

除此之外,HoloLens 2的有效分辨率也得到有效提升,如今它能够实现单眼显示内容的2K分辨率——远高于初代HoloLens的单眼720p分辨率。然而,图像显示的密度仍然相同,为每度47像素(单位为PPD)。PPD是一种用于测量光学显示中像素密度的方法,类似于手机或者平板电脑上的每英寸像素数。Kipman将其称为等同于苹果“视网膜显示”效果的分辨率。但老实说,虽然观感上已经非常接近,我仍然能够从中看到像素,这与我的日常视觉体验有所不同。不过,这已经比许多传统的VR设备好上太多了。(Varjo的全新VR头戴设备在视觉中心位置提供更高的PPD分辨率,但周边区域的分辨率则有所下降。)另外,其中的全息图视觉效果仍然比较怪异,这一点与Magic Leap以及初代HoloLens差不多。画面很明亮,足以让我在室内空间中清晰识别并遵从指引。而微软同时也表示,在户外环境下的显示效果也一样出色。

新版本的图形处理效果与上一代HoloLens并没有太大的差别,最显著的应该就是以上提到的观看区域的大幅扩展。另外,考虑到处理器配置,Magic Leap提供的图形效果可能仍然优于HoloLens 2——至少在双方都不依赖云计算资源时是这样。

简单说一下其中的工作原理:HoloLens的基本目标就是让用户出现“对眼”。微软公司光学工程总经理Zulfi Alam解释了显示内容如何配合多份图表及放大镜功能共同起效。与初代HoloLens一样,新版本的显示镜处同样拥有波导管,可以利用LCOS(片上液晶)通过MEMS(微电子机械系统)弯曲光线以使其投射至眼部。

下面来看HoloLens 2中的新特性:初代HoloLens采用的是一块尺寸较小的显示屏,因此视野相对比较有限。如今,HoloLens 2上的显示屏采用了基于镜面的激光系统进行蚀刻。该系统能够生成每秒120帧的图像与三道激光速,如同老式显示器一样,只是响应速度更快。另外,它还支持超宽视野,这意味着我们观看暗光区域时镜片将完全透明。从体验上来看,我只能说,虽然原理听起来非常复杂,但最终结果看起来确实不错。

HoloLens 2并不提供任何物理控制器:微软公司决定完全依赖于手部追踪加语音控制。值得一提的是,手部追踪技术同样向前迈出了一大步。传感器如今可以通过手腕与手指在一只手上识别最多25个关节点。此外,其还能够识别手掌的方向,这意味着手指弯曲、手部动作以及拾取物体等功能全部可以直接实现。初代HoloLens只能基于手势支持手指点击与其它一些简单的动作。这一次,HoloLens 2已经能够支持捏、拉、按等操作。这感觉要比Magic Leap One的手部追踪更加先进。

此外,我们还尝试了微软公司提供的“Shell演示”全体验。在一个类似于起居室的园区大房间,我看到一张摆着大量全息虚拟物体的桌子,其中包括一部引擎以及一架风车。我走到旁边,并看到它们被纳入一个框体轮廓。系统提示我抓住框体的一角然后向外拉,依样操作之后整个全息图即可快速缩放,类似于拖动Windows中窗口的一角。

这就是HoloLens 2上提供的3D窗口。为了移动物体,我需要将手伸进物体的中心,握拳,而后移动自己的拳头。我也可以把两只拳头一起放进去,然后把拳头分开,这样物体就会放大。整个操作过程有点奇怪,因为没有触觉反馈会让人觉得操作很“假”。但这一切都能够正常起效。

接下来,我观察了整个房间,并发现沙发那边放着一个发光的水晶状物体。这里也有自己的框体,只是附带的是一个三角形的播放按钮。我用手指按下按钮,随之开启了眼动追踪的演示。

我望着四块水晶,目光掠过时对应的水晶就会闪闪发光。这种感觉很好,轻松愉快。当我说出“爆炸”这个词时,我望着的水晶就会立刻炸裂。微软随后展示了另一个眼动追踪的示例:一只飘逸的蜂鸟以全息图的形式悬停在一个类似维基百科的文本框旁边,上面有一篇关于蜂鸟的文章。我读了一会,并在眼睛向下望时触发了文本框滚动操作。有时候滚动速度可能太快或者太慢,但我很快学会了如何用眼睛控制滚动速度。而且最重要的是,我也可以用眼部控制的方式移动物体,这让我的双手能够休息一下。

这一切在真实场景下的配合体验是怎样的?

说回引导程序中包含的虚拟修车环节。让我好奇的是——我以后还会记得这些操作说明吗?是继续上一次未结束的引导培训,还是依赖一步步的后续提示?几周之后,在撰写这篇文章时,我真的完全想不起自己当时在那个房间里进行过哪些操作。有人提醒我,现在的人在开车的时候,也经常会变成“导航地图依赖症患者”——完全依靠导航指引,而忘记了自己到底想去哪。有一些出租车司机喜欢背下地图从而实现知识内化。我想知道的是,这种导航式的分步教学是否会降低学习或者帮助效果?对此,微软方面回应,这确实是个很好的问题,值得他们认真研究。

很明显,这个问题还没有确定的答案,但HoloLens 2确实展现出了一种可能性。分步指引与PowerPoint deck一样易于开发。也许在未来的某个时间点上,人们将会在现实世界当中留下指引,以便其他人稍后发现并借此“导航”——这有点像赛车 游戏 中的“幽灵对手”,以幻影的形式存在提示玩家对方的先进轨迹与当前成绩。此前,谷歌公司在手机版本的谷歌地图上就曾经发布过类似的AR功能。

微软公司这一次反复强调了多用户混合现实的重要意义,也就是通过微软Azure提供云服务。这些服务使得人们能够在HoloLens甚至是自己的手机上体验混合现实。谷歌公司去年发布了自己的多用户AR项目,而苹果也推出了iOS平台上的ARKit。

想象一下,如果能够共享同一个3D对象,进而在同一3D模型之上协同工作,那么未来的办公场景会是怎样。微软公司的Dynamics 365 Layout应用可以通过云端存储对象,以确保这些对象始终被绑定在某一位置以供他人查找。另外,其提供的“云锚点”机制也可以确保每一位用户都共享同样的显示内容,甚至可以在iPhone上利用相同的AR工具通过微软应用程序在iPad与Android设备之间建立AR体验。

在这一次的演示当中,我们得以体验大房间、圆桌子以及一套面向合作小组的简短操作展示。我头戴着HoloLens 2,坐在身边的是我的同事Ian Sherr与Gabriel Sama——他们同样戴着HoloLens 2。整个场景就像是星际代表团的成员们围坐在一起。桌面上显示的是微软园区的一份发光3D虚拟地图,由HoloLens 2设备创建而成。一位女士从桌上的图形中出现,向我们介绍微软公司的未来园区扩展计划。Ian与Gabriel也在观看。我们从三个不同的角度观看着同样的内容。有趣的是,他们头顶弹出了自己的姓名。如果能望向自己,相信我的头顶也浮现出了自己的名字。微软公司明显希望借此展示混合现实的未来发展方向:协作与多用户。为了展示这一切是如何跨平台实现的,几位手持手机的助理来到我们身旁,并向我们示范如何通过手机屏幕看到同样的全息图。是的,我们所看到的都是相同的内容。

我立刻注意到视野在这种情况下得到了极大的改善。我在桌子上看到的一切对象,都不存在被硬生生切断的情况。

当然,这一切还远达不到完美。微软方面提醒,我们使用的只是早期工程模型。果然,当我转向观察自己所处的房间时,以半透明3D形式呈现在桌面上的微软园区图出现了一次倾斜。虽然其随后自动完成了调整,但这不禁让我好奇——如果企业客户需要利用空间计算以精确渲染现实,那么他们对于这样的小问题又有怎样的容忍度?

微软公司的云服务旨在进一步提升混合现实质量。如果现有HoloLens设备能够实现厘米级别的精度,那么在云计算的加持之下,其精度将提升至毫米级别。同样的,3D渲染的质量也将大幅提高。Kipman通过几张幻灯片向我们展示了当前混合现实图形只支持观看,但还无法实现创建。他展示了一个引擎对象,介绍如何通过添加Azure云渲染向其中添加更多细节。

据透露,微软还计划利用Azure服务渲染HoloLens中所显示的更多对象,从而改善设备上的图形展示效果——具体来讲,单凭HoloLens能够渲染3D对象上的10万个多边形,但对接云端后多边形数量可提升至1亿个。微软公司的最终目标是缩小头戴设备的尺寸并尽可能将资源负担转移至云端。就目前来看,这意味着HoloLens 2应该能够更多地使用云账户与云文档,但我还没想明白这一切将如何被结合在一起。

当前,HoloLens 2设备的设计基本上能够自给自足。如前文所说,它自成一体,能够实现脱机工作,它通过Wi-Fi接入网络,但不支持蜂窝网络连接。根据微软方面的说法,这主要是考虑到HoloLens 2的设计使用方式。但最终,当5G网络将高速数据覆盖至全球之后,HoloLens也一定会迎头赶上,成为一款高度依赖云端资源且更为强大的设备。

值得注意的是,HoloLens 2当中仍然没有提供任何物理控制器。与初代HoloLens一样,这款头戴设备是专门针对手势与语音控制而设计。虽然使用手感已经大大改善,但触觉控制器或者力反馈功能的缺失仍令人非常失望,甚至让我觉得有些不安。相比之下。Magic Leap One就提供一个单手物理控制器——虽然有限但却能够增加一点与事物互动时的真实感,而且通过振动反馈提供触觉响应。

微软公司表示正在考虑控制与触觉问题,但目前还未提供相关解决方案。

Alex Kipman告诉我:“我们当然很喜欢触觉。我可以先朝你扔一份全息图,然后你接住它再推回来,这种沉浸感确实要好得多。我在抓住全息图时,应该能够感受到它的温度——是冷、是暖、还是温度适中。这将彻底改变渲染感与体验可信度的水平。”

然而,Kipman补充称这样的触觉“显然只存在于梦想当中,”而且微软并没有使用Windows VR头戴设备中出现过的那些控制器。“我们认为手上没有实物或者触觉回馈,并不代表着用户就无法做出操作的行动。事实上,在我们的Windows VR头戴设备中,我们有着一些相当不错的方案,可以用到与HoloLens相同的传感器套件。”遗憾的是,虽然微软已经决定为这些周边产品冠以“混合现实”品牌的名号,但Kipman到目前还没有见过任何能够实际体验的Windows VR控制器。

也许这一切会在HoloLens 3当中成为现实?“在我们的发展路线图当中,自然也会考虑到物体交互时的触觉需求,让用户不仅仅能够拿起我们创造的东西,还能与虚拟对象交互。例如,如果我手里拿着一把真实世界中的锤子,那么该如何进行虚拟对象交互?如果我的手没有闲着,比如端着一个咖啡杯,但仍想操作自己的全息图,又该怎么办?”

我也好奇随着时间推移,新的控制机制会带来怎样的使用变化。现在抓取物体与按下按钮的感觉已经更加真实,但这究竟是我真正想要的真实感,还是仅仅只属于一种刚刚上手的新鲜感以及心理安慰?这些将如何在HoloLens 2上发挥作用?

显而易见,微软公司正在利用其Azure云计算为HoloLens 2持续注入能量。这意味着HoloLens 2将能够在3D空间中更准确地放置物体,同时提供更为详细的图形显示与绘图能力。Kipman还强调称,像HoloLens这样的产品将成为未来大规模连续性体验中的组成部分。支持计算机视觉功能的HoloLens 2能够实现真实世界追踪,这意味着这款头戴设备能够像自动驾驶 汽车 与无人机安装的导航摄像头传感器一样起效,并在一定程度上趋近于家庭、工厂以及家用电器中的扫描摄像头。(如今,微软公司正在销售一款采用HoloLens传感器的新型云连接版Kinect。)

听起来,整个世界似乎都将被大量边缘计算设备所占据,并依靠云环境带来越来越快的执行速度。也许在5G技术的支持下,一切未来推出的HoloLens设备乃至其它VR头戴设备都将高度依赖于云端。虽然HoloLens 2还不支持蜂窝网络——其仅提供Wi-Fi与蓝牙,但这只是因为LTE领域尚未做好准备。

就连Kipman本人也承认,HoloLens 2并不适合每一位用户,也不适合一切使用场景。虽然Kipman自己每天都会花上几个小时来使用HoloLens,“但只要待在办公室里,我大多数情况下还是宁愿使用键盘、鼠标加上PC显示屏来完成工作。”

但是,如果5G成为现实,触觉技术也成为现实,结果会如何?正如AR/VR/MR领域的所有参与厂商一样,微软公司显然也有着自己的大棋。毕竟下一代HoloLens距离我们可能并不遥远。Kipman本人甚至也无法断言接下来五年当中这方面技术会发生怎样的变化:“老实说,我没法面向未来五年做出预期。我只能谈谈这款产品生命周期之内的趋势,而且只能专注于其中的一到两个发展方向。我认为一切成功的产品都将围绕企业使用场景进行设计。”

也许到那个时候,新的产品将真正成为我个人长久以来所期待的5G超级装备!

具体步骤如下:

1 编写一个文本样式。

DIALOG的标题是一个textview,在sytlesxml中,添加如下代码来设置你自己的文本样式:

<style name="DialogWindowTitle">

<item name="android:textSize">22sp</item>

<item name="android:textColor">@color/font_dark_grey</item>

</style>

2 设置对话框的标题主题。

上面的标题文本并不能直接设置为对话框的标题样式。 我们还需要编写一个表示标题的主题的style,在这里指定标题的文本样式。代码如下:

<style name="DialogWindowTitleDeviceDefault">

<item name="android:maxLines">1</item>

<item name="android:scrollHorizontally">true</item>

<item name="android:textAppearance">@style/DialogWindowTitle</item>

</style>

3 设置对话框主题。

接下来,我们编写我们的对话框主题,在这里指定标题的主题。由于一些属性并不是public的,所以我们需要继承自原来的某个style,代码如下:

<!--Dialog主题-->

<style name="ThemeDeviceDefaultDialog" parent="@android:style/ThemeDeviceDefaultLightDialog">

<item name="android:windowTitleStyle">@style/DialogWindowTitleDeviceDefault</item>

</style>

4自定义App的主题。

接下来,我们需要在我们的App theme中指定我们的对话框使用这种主题,所以需要定义一个App theme。同样由于App theme的许多属性并不是public的(比如下面要提到的标题下面的那条蓝线),所以我们要继承自一个原生的style。这里我根据程序需要选择了ThemeHoloLightNoActionBar,代码如下:

<style name="ParkingTheme" parent="@android:style/ThemeHoloLightNoActionBar">

<item name="android:dialogTheme">@style/ThemeDeviceDefaultDialog</item>

</style>

5 指定App主题

我们需要在AndroidManifestxml文件中,指定我们的app主题。这步很简单,只需要在application标签中指定android:theme的值即可,如下:

android:theme="@style/ParkingTheme"

6 编写AlertDialog主题。

我们无法直接继承系统主题里的AlertDialog的style。如把parent指定为ThemeDeviceDefaultDialogAlert,ThemeHoloDialogAlert,ThemeDeviceDefaultLightDialogAlert或ThemeHoloLightDialogAlert,都会导致编译不过。所以我们需要继承自Dialog的style。在这里我以ThemeHoloLightDialog为例,代码如下:

<!--AlderDialog主题-->

<style name="ThemeDeviceDefaultDialogAlert" parent="@android:style/ThemeHoloLightDialog">

<item name="android:windowBackground">@android:color/transparent</item>

<item name="android:windowTitleStyle">@style/DialogWindowTitleDeviceDefault</item>

<item name="android:windowContentOverlay">@null</item>

<item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item>

<item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item>

</style>

7 指定AlertDialog的主题。

我们需要在第4步所说的自定义的AppTheme中,添加一行代码来指定要使用的AlertDialog的style,代码如下:

<item name="android:alertDialogTheme">@style/ThemeDeviceDefaultDialogAlert</item>

8修改标题下面的蓝色线。

表示这条蓝色的线的叫做titleDivider,我们可以通过getResources()的API来获取它的IP,然后设置颜色。代码如下:

public static final void dialogTitleLineColor(Dialog dialog, int color) {

Context context = dialoggetContext();

int divierId = contextgetResources()getIdentifier("android:id/titleDivider", null, null);

View divider = dialogfindViewById(divierId);

dividersetBackgroundColor(color);

这行代码对于自定义的Dialog,可以在setContentView之后调用。但是对于AlertDialog,必须在show()方法被调用之后才可以去调用,否则会报错。

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。

尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安智”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年7月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。

随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。

Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。

2013年的第四季度,Android平台手机的全球市场份额已经达到781%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/807836.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-08
下一篇2023-08-08

随机推荐

  • 妮维雅晶纯焕亮和晶纯皙白区别

    妮维雅晶纯焕亮和晶纯皙白系列在功效上有以下区别: 晶纯焕亮系列。主要功效是去黄提亮,它适用于肌肤暗沉,肤色不均,以及熬夜疲劳的肌肤,因此,如果你是因为经常熬夜导致的肌肤暗沉,使用妮维雅晶纯焕亮系列可能会有很好的效果。 晶纯皙白系列。主要功效

    2024-04-15
    23000
  • 多芬小白碗和妮维雅蓝罐哪个好用

    妮维雅蓝罐好用。1、多芬小白碗,这款身体乳丰富营养成分可以锁水,但敏感及不可使用,对于室内干燥的冬季很是实用。2、妮维雅蓝罐是一款面霜,它的成分除了拥有专利配方Eucerit,能持久滋润柔软肌肤,干燥的皮肤和部位都能得到有效的保湿和滋润的成

    2024-04-15
    27000
  • eec黑松露奢养护肤套怎么用

    eec黑松露奢养护肤套装的使用顺序如下:1 先用eec套装中的洁面产品进行面部清洁,早晚各一次。2 使用爽肤水,这可以帮助肌肤补充水分,保持水油平衡。3 使用精华液,它的营养成分浓度较高,能够让肌肤看起来更加有光泽和弹性。使用时可以适当按摩

    2024-04-15
    20700
  • 清莹露和神仙水的区别

    1 清莹露清莹露 sk2清莹露怎么用sk2清莹露是属于清洁水,就是洗完脸,第一个用的,是给皮肤一个再次清洁的作用。 sk2清莹露用在神仙水之前,洁面后第一步,是SKII的化妆水,保湿,同时能起到二次清洁和细致皮肤的作用,帮助

    2024-04-15
    8900
  • 清莹露和神仙水的区别

    清莹露和神仙水的区别为价格区别、外观区别、功效区别、适用人群不同、效果区别。1、成分区别:神仙水是由半乳糖酵母的发酵物过滤液组成,除了丁二醇和其它润肤成份之外,没有其它有效成份。清莹露是用水做溶剂,加入了酵母、甘油、适量的乳化剂和酸类,水杨

    2024-04-15
    15200
  • 皮肤干用什么牌子的护肤品好?

    皮肤干用的护肤品:Freeplus芙丽芳丝保湿修复柔润化妆水、赫莲娜至美溯颜精萃露、AHCB5玻尿酸精华液、黛珂保湿精华小紫瓶补水肌底液。1、Freeplus芙丽芳丝保湿修复柔润化妆水这款保湿水,是深度敏感肌的安全岛,功效单一,但可以满足补

    2024-04-15
    9300
  • 面膜代加工厂家

    1、济南博利医药生物工程有限公司主营产品:面膜,面膜加工,壳聚糖面膜代加工,械字号面膜加工,玻尿酸原液,霜膏,乳液等。地址:济南市历下区明湖路2号东湖大厦东座702室。成立时间:1998-07-15。2、广州寿龛生物科技有限公司主营产品:膏

    2024-04-15
    18700

发表评论

登录后才能评论
保存