好的,这是一个困扰我的问题,我真的希望你帮助我。 我正在用HTC amaze和Galaxy S2(我知道两者都是高密度)测试我的应用程序,并且都在3.7-4.3屏幕范围内
问题是在两个屏幕上相同的图像在大小方面看起来不同。在HTC惊奇它它要小得多。我有3个适当的不同尺寸的可绘制文件夹(我在这里应该需要它,因为两个设备的密度相同)
我在DisplayMatrics上进行了一些调试,我发现HTC惊讶于以下内容:
density 1.5
desnityDPI 240
Height pixels:540
Width pixels:960
xdpi 258
ydpi 256
然而,对于S2 galaxy,显示指标是:
density 1.5
desnityDPI 240
Height pixels:480
Width pixels:800
xdpi 160
ydpi 160
有人可以向我解释为什么两台设备上的图像尺寸不同。在HTC惊奇图像比S2小得多? 谢谢
编辑:用于获取DP信息的代码是
DisplayMetrics mt =getApplicationContext().getResources().getDisplayMetrics();
编辑:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/carpet"
android:clipChildren="false"
android:clipToPadding="false"
android:keepScreenOn="true" >
<RelativeLayout
android:id="@+id/relativeLayoutBottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:clipChildren="false"
android:clipToPadding="false" >
<ImageView
android:id="@+id/ivBottom1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/ivBottom2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp" />
<ImageView
android:id="@+id/ivBottom3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp" />
</RelativeLayout>
</RelativeLayout>
private void initialize(ArrayList<CardSuitNumber> cards) {
RelativeLayout flBottom = (RelativeLayout) findViewById(R.id.relativeLayoutBottom);
player1.clearAll();
for(int i=0; i<GameConstants.MAXRANKS;i++){
player1.addCard((ImageView)flBottom.getChildAt(i));
}
}
public void addCard(ImageView im){
Drawable drawable = card.getCardSuitNumber().getDrawable(mActivity);
im.setImageDrawable(drawable);
imsetVisibility(View.VISIBLE);
}
答案 0 :(得分:2)
答案就在你面前的数字中。
来源http://www.androidauthority.com/htc-amaze-4g-vs-samsung-galaxy-s-ii-t-mobile-27110/
在屏幕尺寸方面,三星Galaxy S2略大一些 屏幕有4.52英寸的显示屏。 HTC Amaze 4G,另一方面 手,配有与国际变体相似的屏幕 银河S2-4.3英寸。
HTC Amaze具有更高的分辨率和更小的物理屏幕。这导致更高的像素密度 - 这意味着更小的物理像素,因为需要将更多的物理像素塞入更紧密的地方。
因此,例如240x160的图像在Amaze上看起来会更小。
报告的S2的DPI值显然是错误的。根据给出的指标,它是' 800/160 =长边5英寸,短边480/160 = 3英寸。 这将使屏幕尺寸为sqrt(5 * 5 + 3 * 3)= 5.8英寸。
惊奇的DPI值是正确的。正如我们所看到的,如果我们做一个简单的毕达哥拉斯。 Sqrt(960/258 ^ 2 + 540/256 ^ 2)= 4,27“
作为一名开发人员,我从测试设备HTC感觉和S2中感受到同样的事情。
答案 1 :(得分:0)
HTC上的xdpi和ydpi非常高,这就是图像变小的原因。
我记得有一个错误,报告的xdpi和ydpi总是错误的,说实话,他们看起来不对。
答案 2 :(得分:0)
答案 3 :(得分:0)
我不确定,但我根据您的问题了解的One Solution是,您必须根据设备屏幕分辨率制作布局。
同样,
Galaxy SII支持布局 - 正常 - hdpi
同样,
也许HTC惊奇支持布局 - 大屏幕。
因此,请尝试根据设备制作布局,它将解决您的问题。
希望它会对你有所帮助。
与您的问题相同的其他细节如下:android-layout-issue-for-htc-evo-3d
享受编码。 。 。 。 :)