为什么Eclipse与Device上的按钮大小不一样

时间:2010-04-08 21:09:02

标签: android

哦......这很奇怪。上周,我的按钮看起来很好,现在情况发生了变化。

eclipse模拟器上的按钮比我的设备上的按钮大得多(Droid 2.1)。

我检查了我的皮肤设置,屏幕尺寸权限,密度因素....我缺少什么?

我的皮肤设置为WVGA854,但当应用程序进入手机时按钮更小!?文字和图片很好......看起来和模拟器一样......只是按钮缩小了!

嗯......我知道它必须简单......:)

更新: 好的....发布xml;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/pic">
 <Button
    android:id="@+id/strtbtn"
    android:textSize="8pt"
    android:layout_marginTop="50px"
    android:layout_marginLeft="20px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Blahh"/>
 <Button
    android:id="@+id/contbtn"
    android:textSize="8pt"
    android:layout_marginTop="140px"
    android:layout_marginLeft="200px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Blahh"/>
 <Button
    android:id="@+id/credbtn"
    android:textSize="8pt"
    android:layout_marginTop="530px"
    android:layout_marginLeft="20px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Blahh"/>
 <Button
    android:id="@+id/miscbtn"
    android:textSize="8pt"
    android:layout_marginTop="610px"
    android:layout_marginLeft="80px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Blahh"/>
 <Button
    android:id="@+id/blahhbtn"
    android:textSize="8pt"
    android:layout_marginTop="690px"
    android:layout_marginLeft="200px"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Blahh"/>

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/introanim"
    android:id="@+id/introanim"
    android:layout_gravity="center"
    android:layout_weight="1"/>

</RelativeLayout>

4 个答案:

答案 0 :(得分:3)

不要使用“px”单位作为尺寸,而是使用“dip”。或者更好,使用wrap_content。 WVGA仿真器使用更高的密度。高密度(240dpi)显示器上的10px将比中密度显示器(160dpi)小1.5倍。为了使它们看起来相同,可以使用10dip。 10dip =中等密度显示器上10px,高密度显示器上15px。

您可以在那里找到所需的所有信息:http://d.android.com/guide/practices/screens_support.html

答案 1 :(得分:0)

嗯,如果你反过来说过,我已经同意了。对我来说,有时候WVGA854模拟器会在屏幕上显示出一小块尺寸。就好像它根据320x480大小显示所有内容,但由于屏幕大2.5倍,所以它太小了。不幸的是,你似乎有一个不同的问题...重新启动Eclipse和模拟器是否对按钮大小有任何影响?当问题发生时,这对我有用。

或者这是另一个想法 - 你在手机上安装了自定义主题吗?如果您的应用使用默认按钮drawables,那么安装新主题将改变这些。这可以解释为什么你在手机和模拟器上看到不同的东西。

答案 2 :(得分:0)

我对Android大小调整的最佳做法的看法。在AndroidManifest.xml中

    <supports-screens android:largeScreens="true"
    android:normalScreens="true" android:smallScreens="true"
    android:anyDensity="true" android:resizeable="true" />

然后在整个布局中使用dip(设备无关像素)单位进行测量。

答案 3 :(得分:0)

我认为它可能与Droid 2.1更新有关。我下载新版Android后,我的应用程序中的按钮变小了。