我正在构建我的第一个应用程序,我想让应用程序针对所有屏幕分辨率进行优化。 所以,我会告诉你我认为我应该做些什么 - 为了使我的应用程序工作 - 我到目前为止所发现的,但我不觉得我已经明白,尽管我读了一些相关的帖子
我的背景图像为480 x 800像素,高分辨率(hdp),320x480为中等res(mdp),240x320为低分辨率(ldp),600x1024为xhdp(??)。 然后,如果我把每一个放在“res”目录中的右侧文件夹中...例如“drawable-hdpi”以获得高分辨率等等......它会起作用吗?
这些是正确的尺寸吗?
这是我的Manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.etking.winningnumbersgenerator"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.etking.winningnumbersgenerator.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
(请注意支持屏幕)
我的activity_main.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.etking.winningnumbersgenerator.MainActivity"
tools:ignore="MergeRootFrame" />
我上面描述的方式是否正确? 我需要做什么?请帮我第一个应用程序!!!
P.S:如果您需要代码中的其他内容,请求它
我已经阅读了Android“支持多个屏幕”,但也许是我没有得到的东西。 我为每个可绘制文件夹创建了一个背景图像:240x320在drawable-ldpi文件夹中,320x480在drawable-mdpi中,480x800在drawable-hdpi中,640x960在drawable-xhdpi中,1200x1920在drawable-xxhpdi中。
应用在以下屏幕上显示(使用模拟器):
768x1280 xhdpi - 4.7'',| 480x800 hdpi - 4.0'',| 240x432 ldpi - 3.4'',| 1080x1920 xxhdpi - 4.95''(Nexus 5)和 320x480 mdpi - 3.2''
看起来不太好: 480x800 mdpi - 5.1''和1200x1920 xhdpi - 7''因为它在图像底部中间有太多空间。
还有 240x320 ldpi - 2.7''最靠近底部的按钮几乎被裁剪,因为它出现在屏幕的底部。
请注意,背景图像显示效果很好。 我为按钮添加了layout_width =“230dp”和layout_height =“50dp”。
Plase帮我解决这个问题!
P.S:我不允许发布图片,这样你就可以更好地理解:(答案 0 :(得分:0)
我建议你阅读Developer Guide on developing your app to support multiple Screen Sizes。它不仅可以帮助您关注屏幕尺寸,还可以屏幕DPI(每英寸密度)