我希望平板电脑能够以纵向和横向(sw600dp或更高)显示,但手机仅限于纵向.我找不到有条件选择方向的方法.有什么建议?
有没有办法以编程方式查找应用程序安装的设备是7英寸平板电脑还是10英寸平板电脑?
我正在开发一个Android应用程序,当用户旋转设备时,我不想将其更改为横向模式.此外,我希望锁定方向为手机上的纵向模式和平板电脑上的横向模式.这可以实现,如果是的话怎么样?谢谢.
我有两个适用于Android平板电脑和Android手机的应用.对于平板电脑的应用程序我设置android:minSdkVersion="11".但是现在像Galaxy S3这样的Android手机拥有Android 4.0.4版本,因此S3用户可以从Google Play商店下载我的平板电脑应用程序.我想警告手机用户在安装平板电脑应用程序时下载手机应用程序.反之亦然平板电脑用户在运行手机应用时下载平板电脑应用.
有没有简单的方法来检测设备类型?
我找到了这个链接的解决方案.
在您的清单文件中,您可以为手机和平板电脑声明屏幕功能,然后Google Play会决定手机和平板电脑的下载权限.
我的情况是手机和平板电脑的逻辑是相同的.但布局略有不同.我尝试使用以下代码
public static boolean findoutDeviceType(Context context)
{
return (context.getResources().getConfiguration().screenLayout &
Configuration.SCREENLAYOUT_SIZE_MASK)>=
Configuration.SCREENLAYOUT_SIZE_LARGE;
}
Run Code Online (Sandbox Code Playgroud)
三星Tab 10"的分辨率为1280*800,S3的分辨率为1270*720.此代码返回Tab和Phone的尺寸为XLarge,因为它的检查标准是> 960*720.
我已经测试了在Res作为布局,布局大和布局-xLarge的布局文件夹中插入相应的UI.但这无论如何都没有影响.检查时从Layout文件夹中获取了UI.
无论如何,即使我将UI放在不同的布局文件夹中,我也必须在类文件中检查它们以设置相应的ContentView.
有没有其他方法可以找到它?
我一直致力于Android项目,旨在兼容Android手机和平板电脑.在平板电脑上,该应用程序运行良好,看起来也很好.然而,在手机上我们已经以编程方式和布局方式遇到问题(使用10.1英寸屏幕比4英寸屏幕容易得多).为解决其中一些问题,我们决定停用屏幕方向,但仅限于手机版本,至少暂时.
问题很简单,我如何停用Android手机的屏幕方向,同时保持Android平板电脑的活动状态?我知道我可以在清单文件中执行此操作,但是,这也将锁定我认为的平板电脑的方向.
我想开发一个通用的应用程序.我是这种方法的新手.这意味着平板电脑和手机应用程序的单个apk.我经历过
我的目标是在单个APk中为平板电脑和手机构建不同的UI.
我读过让你的应用程序准备好Jelly Bean和Nexus 7.这篇文章提到了
res/layout/activity_home.xml
To take advantage of the extra space on the 7” screen you might provide an alternative layout:
res/layout-sw600dp/activity_home.xml
The sw600dp qualifier declares that these resources are for devices that have a screen with at least 600dp available on its smallest side.
Furthermore you might even provide a different layout for 10” tablets:
res/layout-sw720dp/activity_home.xml
Run Code Online (Sandbox Code Playgroud)
这意味着我们可以为不同的设备使用不同的布局.这让我很困惑
编辑1 ::场景
假设
if my phone UI layout contains one-view pager and
tablet UI layout contain …Run Code Online (Sandbox Code Playgroud) 所以普遍的共识是这样的;大多数人在纵向使用手机,大多数人在横向使用平板电脑。根据哪个活动,当您在手机上旋转到横向时,我的应用程序的布局会变得疯狂,考虑到用户不太可能在此处旋转并且没有理由这样做,因此不值得花时间进行修复。我知道活动元素的清单中的 oleorientation="portrait" 技巧,但是这会将平板电脑用户锁定为不合适的纵向。我想在平板电脑用户的所有活动中禁用纵向,但同时在手机用户的大多数活动中禁用横向。我试图通过制作一个 layout-large-land 文件夹而不是 layout-large 文件夹来快速拉一个,但这并不能阻止平板电脑上的方向改变。
我试图将手机大小布局上的整个应用程序的方向锁定为仅纵向,但在平板电脑大小的布局上允许纵向和横向。
我知道我可以将 Activity 归因于使用特定方向,但这适用于两种布局尺寸。
[Activity(
Label = "Brs.Members.Droid"
, MainLauncher = true
, Icon = "@mipmap/icon"
, Theme = "@style/Theme.Splash"
, NoHistory = true
, ScreenOrientation = ScreenOrientation.Portrait)]
public class SplashScreen : MvxSplashScreenActivity
{
public SplashScreen() : base(Resource.Layout.SplashScreen)
{
}
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以只排除手机尺寸设备上的横向布局?
据我所知,默认情况下(pre ICS),要区分平板电脑和智能手机,开发人员可以在Android Manifest中使用sdk版本(除了屏幕尺寸和openGL过滤器).现在,在SP和平板电脑上运行ICS,开发人员有什么选择,以防我需要区分SP和平板电脑?
我认为屏幕尺寸不可靠.
让我们说,由于某些原因,我不能有SP和平板电脑的常见apk.我还想避免单独的平板电脑和SP应用程序
我是一名Android应用程序开发人员,并在过去一个月开始研究React-Native.我有疑问,对于那些我无法找到解决方案的人:
做反应本机使用sp而不是dpfont-size,如果我们想使用dp的font-size怎么办?
我想提供hdpi,xhdpi并xxhdpi梦诗的布局,如何做到这一点?
如何为7英寸平板电脑,10英寸平板电脑和手机提供单独的尺寸?出于某种目的,我想为react-native实现isDeviceTablet()方法,该怎么做?
TextView我的活动中应该有一个visible正常的活动,但gone对于平板电脑设备而言。
我知道我可以为平板电脑创建一个新的布局文件,但这似乎有很多重复,所以我想做的是在我的(单个)布局文件中设置类似...
android:visibility="@string/my_textview_visibility"
...为了TextView。然后,在我的字符串资源文件中,设置...
<string name="my_textview_visibility">gone</string>(在值/strings.xml中)
...和...
<string name="my_textview_visibility">visible</string>(在values-sw720dp/strings.xml中)
...隐藏平板电脑的 TextView。
但是,当我尝试此操作时,应用程序在尝试显示该活动时崩溃。
我是否需要使用常量值而不是上面的字符串值 - 例如,
"visible"->0
"gone"->8
..如果是这样,将这些值添加到我的 XML 文件或从我的 XML 文件引用这些值的正确方法是什么?
或者还有另一种/更好的方法吗?
注意 - 我不想TextView在我的 Java 代码中以编程方式显示/隐藏。
android ×13
tablet ×3
apk ×2
android-4.0-ice-cream-sandwich ×1
android-ui ×1
android-view ×1
google-play ×1
java ×1
portrait ×1
react-native ×1
screen ×1
xamarin ×1
xml ×1