android – 手机上的两个启动器活动,一个在平板电脑上

android – 手机上的两个启动器活动,一个在平板电脑上,第1张

概述我正在为 Android 4.0创建一个应用程序,我想实现这种行为.当用户的设备是电话时,两个不同的活动将具有两个启动器图标,并且它将仅是平板设备上的一个(活动将包括我将在一个主要活动中显示为标签的片段).我知道可以在清单中设置多个启动器活动,但我想我可能需要在运行时(在java代码中)确定此 *** 作的东西. Two different activities will have two launche 我正在为 Android 4.0创建一个应用程序,我想实现这种行为.当用户的设备是电话时,两个不同的活动将具有两个启动器图标,并且它将仅是平板设备上的一个(活动将包括我将在一个主要活动中显示为标签的片段).我知道可以在清单中设置多个启动器活动,但我想我可能需要在运行时(在java代码中)确定此 *** 作的东西.解决方法

Two different activitIEs will have two launcher icons when the user’s device is a phone,and it will be just one (the activitIEs will consist of fragments that I will display as tabs in one main activity) on tablet devices.

在“手机”和“平板电脑”的AndroID中没有概念.我将假设您在屏幕尺寸方面区分“手机”和“平板电脑”.

如果是这样的话:

步骤1:创建res / values / bools.xml文件并定义两个< bool>资源,is_phone和is_tablet.让is_phone为true,is_tablet为false.

步骤#2:创建res / values -… / bools.xml文件,其中…是您使用布局的限定符,以区分“手机”和“平板电脑”(例如,-large,-xlarge),-swNNNdp).定义相同的两个< bool>那里的资源具有相反的值(即,is_phone为false,is_tablet为真).

步骤3:将两个活动添加到清单,每个活动都设置为MAIN / LAUNCHER< intent-filter>.在想要在“手机”上使用的那个上,将androID:enabled =“@ bool / is_phone”添加到< activity>元件.在想要在“平板电脑”上使用的那个上,将androID:enabled =“@ bool / is_tablet”添加到< activity>元件.

这样,根据您用于布局的相同规则,您将拥有不同的启动器活动.

显然,这不起作用,虽然我发誓过去.

另一个选择是让一个活动成为MAIN / LAUNCHER.设置androID:theme =“@ style / theme.Nodisplay”,因此它没有UI.让它在Java中,在onCreate()中做出决定,你的“真实”入口点活动适合于给定的屏幕大小,也许使用我上面引用的相同的bool资源.然后让它调用startActivity()将控制传递给正确的活动并调用自身的finish()(这样用户就不会在BACK堆栈上遇到不可见的活动).这种技术也可用于无法通过清单控制此问题的情况,例如“我们是否有Maps V1”,其中< uses-library>上有androID:required =“false”.元件.

总结

以上是内存溢出为你收集整理的android – 手机上的两个启动器活动,一个在平板电脑上全部内容,希望文章能够帮你解决android – 手机上的两个启动器活动,一个在平板电脑上所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1137163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存