真实设备与仿真器上的Android不同按钮大小

时间:2013-04-08 21:54:53

标签: android layout android-emulator screen

我的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尺寸。

可能导致这种差异的原因是什么?

我附加了合并的屏幕截图,左边是设备,右边是模拟器。

enter image description here

根据规格,Mini有~127 ppi,也许这就是问题?但我不能为Emulator设置它,因为它有固定的密度列表,120是最接近的。但是,就像我提到的那样,它很好。

任何提示都表示赞赏。感谢

0 个答案:

没有答案