我试图围绕缩放图像的想法,这对我来说是全新的。我终于理解了图标启动器,你需要像mdpi的48x48和hdpi的72x72。为此,我使用谷歌提供的工具没有问题。我有一个从网上下载的图像,它是178x283像素,96 dpi。当我的(4英寸480x800hdpi)手机模拟器查看此图像时,图像相当大,占据了大约一半的屏幕。在我的(10inch1280x800mdpi)手机上,它看起来更小,实际上与原始手机完全相同。这不是我想要的吗?我该如何缩放图像?我希望它们与原始尺寸相同,或者在小型手机上尺寸更小,在大型手机上尺寸更大。我假设在这一步之后我创建了正确的限定符并在此线程中完成数学运算以调整图像大小? Supporting multiple screens on Android。我忘了提及android OS自动执行的操作,因为我想如果我有一个可绘制的图像,那么它会自动使较小的手机有一个小图像而较大的手机有一个大图像,但这没有发生(给定我没有硬代码值)。
EDIT:
决定使用此http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html
EDIT2:
我已经获得了我现在想要的图像和布局,但我的10英寸不会使用正确的布局文件夹。我有这个
layout
layout-land
layout-sw720dp
layout-sw720dp-land
只有当我将它们命名为layout-xlarge时才会起作用,这是不推荐的,是什么给出了
edit
:是因为sw限定符仅适用于3.3+而且我定位为2.3 +?
答案 0 :(得分:1)
你想要图像缩放吗?或者你希望它们保持特定的大小。
如果您希望缩放它们,可以在布局中使用类似的内容
android:adjustViewBounds="true"
然后使用layout_width或maxWidth(分别为length)设置您想要的大小。
然后按比例缩放:
android:scaleType="centerInside"
如果图像是像素化的,则需要为res文件夹下的每个屏幕尺寸添加更大的图像。
答案 1 :(得分:0)
为10英寸平板电脑创建不同的布局,为7英寸平板电脑创建另一个布局,然后使用以下代码:
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
final int height = dm.heightPixels;
final int width = dm.widthPixels;
if ((height == 1280) && (width == 800)) {
setContentView(R.layout.10inchLayout);
}else if ((heig
ht == 1024) && (width == 600)) {
setContentView(R.layout.7inchLayout);
}
else {
setContentView(R.layout.PhoneinchLayout);
}
希望它对你有所帮助。