我的Android应用程序在真实设备(三星Galaxy Mini http://www.gsmarena.com/samsung_galaxy_mini_s5570-3725.php)上看起来与仿真器不同。
我有最新的SDK,AVD设置为240x320 LDPI(120ppi)
我的布局:我有一个垂直衬里布局,有4个项目:4x水平衬里布局
<LinearLayout
android:id="@+id/LinearLayoutMainLines"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/LinearLayoutMainLine1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout>
....
<LinearLayout
android:id="@+id/LinearLayoutMainLine4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
然后从代码中,我为所有4'LinelineLayoutMainLine'添加了10个按钮 所以最后我在屏幕上有4x10按钮。
Button button = new Button(_context);
button.setTypeface( Typeface.MONOSPACE, Typeface.BOLD);
button.setOnClickListener(this);
button.setTextColor(0xFFFFFFFF);
button.setText(letter);
button.setBackgroundResource(id);
....later....
forall (buttons_line1)
layout1.addView(button);
....
forall (buttons_line4)
layout4.addView(button);
请注意,背景图像和按钮文本会不时地从代码中更改,它们不会与创建时保持一致。 但是,所有使用的图像大小相同(双重检查),按钮的文本总是1个字母。
问题:
在模拟器上:我有4x10按钮,大小为19x36
在迷你设备上:我有3x10按钮,大小为19x38,第四行是19x32。 最后一排按钮较短,因此它们的文本被切成两半。
使用过的图片:res \ ldpi \ button.9.png都是18x26尺寸。
可能导致这种差异的原因是什么?
我附加了合并的屏幕截图,左边是设备,右边是模拟器。
根据规格,Mini有~127 ppi,也许这就是问题?但我不能为Emulator设置它,因为它有固定的密度列表,120是最接近的。但是,就像我提到的那样,它很好。
任何提示都表示赞赏。感谢