我创建了一个可以在多种屏幕尺寸上运行的应用程序。我的应用程序可以在正常、大屏和x大屏上运行,但我的应用程序不能在小型手机上运行。它的用户界面在小型手机上不能完全显示。请告诉我任何解决方案。
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"
android:largestWidthLimitDp="720"
android:compatibleWidthLimitDp="720" />
发布于 2014-02-21 13:56:50
在manifest中使用下面的标签过滤掉小手机:
<supports-screens android:resizeable=["true"| "false"]
android:smallScreens=["true" | "false"]
android:normalScreens=["true" | "false"]
android:largeScreens=["true" | "false"]
android:xlargeScreens=["true" | "false"]
android:anyDensity=["true" | "false"]
android:requiresSmallestWidthDp="integer"
android:compatibleWidthLimitDp="integer"
android:largestWidthLimitDp="integer"/>
其中:
android:smallScreens="false"
有关详细信息,请访问:
http://developer.android.com/guide/topics/manifest/supports-screens-element.html
另一种方式是你可以在你的代码中进行检查。
启动应用程序时,检查屏幕尺寸,如果屏幕尺寸小于所需尺寸,则显示一条消息并退出应用程序。
前一种方法适用于在google play中过滤应用程序,但后一种方法将是一个很好的选择,尽管我没有找到使用这种方法的人(如果用户试图安装您的应用程序offline...means,而不是从google play)。
发布于 2014-02-21 14:00:13
DisplayMetrics metrics = getResources().getDisplayMetrics();
Toast.makeText(getApplicationContext(), "density-"+metrics.density,Toast.LENGTH_SHORT).show();
if(metrics.density==1.5)
tv.setTextSize(size);
else if(metrics.density==2.0)
tv.setTextSize(size);
else if(metrics.density==3.0)
tv.setTextSize(size);
有了这个,你可以找出你的小设备的密度,然后根据它,你可以设置你的文本视图的大小
发布于 2014-02-21 14:21:34
指定‘android-smallscreen=“true”’将使其可用于小屏幕。它不会完全帮助你解决问题。为了让你的应用程序适用于所有类型的设备,这里是从android开发者资源中摘录的要点。
查看this。
https://stackoverflow.com/questions/21926345
复制相似问题