Android 为什么Eclipse和设备上的按钮大小不一样

Android 为什么Eclipse和设备上的按钮大小不一样,android,Android,好吧……这太奇怪了。上周我的纽扣看起来不错,现在有些变化了 eclipse模拟器上的按钮比我的设备(Droid2.1)上的按钮大得多 我检查了我的皮肤设置、屏幕大小权限、密度系数……我遗漏了什么 我的皮肤设置为WVGA854,但当应用程序进入手机时,按钮会变小!?文本和图片都很好…看起来和模拟器一样…只是按钮缩小了 嗯……我知道这必须是一些简单的事情……:) 更新: 好的……发布xml <RelativeLayout xmlns:android="http://schemas.androi

好吧……这太奇怪了。上周我的纽扣看起来不错,现在有些变化了

eclipse模拟器上的按钮比我的设备(Droid2.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>

嗯,如果你用另一种方式说的话,我已经同意了。对我来说,有时候WVGA854模拟器会出错,并在屏幕上以很小的尺寸显示所有内容。就好像它是根据320x480的大小显示所有内容,但由于屏幕大2.5倍,所以太小了。不幸的是,你似乎有一个不同的问题。。。重新启动Eclipse和emulator会对按钮大小产生影响吗?当问题发生时,我就这样做了


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

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

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


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

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

不要使用“px”单位来表示尺寸,而是使用“dip”。或者更好地使用wrap_内容。WVGA模拟器使用更高的密度。高密度(240dpi)显示器上的10px看起来比中密度(160dpi)显示器上的10px小1.5倍。为了使它们看起来一样,可以使用10dip代替。在中密度显示器上10dip=10px,在高密度显示器上15px


你需要的所有信息都可以在那里找到:

不……我已经看了几天了。使用许多不同的设置多次重新启动。看起来emulator显示的是320x480,但图片和文本的间距非常完美。当emulator启动时,我确实看到了日志错误…不知道是否就是这样。唯一的主要变化(当然)是最近发布的HE2.1版本和我的实时壁纸。我可以在我的设备上运行我的应用程序,以获得正确的间距,但我真的希望emulator匹配!顺便说一句,我的按钮是在相对的布局,我一直在阅读有各种问题…不知道!当与ListView一起使用时,相对布局会产生奇怪的问题,但这些问题通常更多地与布局/对齐有关,而不是与按钮大小有关。正如mbaird所说,发布您的按钮XML文件,以便我们可以更仔细地查看。另一件要尝试的事情是为按钮设置一个自定义背景(如果您已经这样做了,则设置一个不同的背景),以查看该背景是否正确显示。如果它确实正确显示,那么你的问题在于你以前使用过的任何背景。我开始怀疑…我们的问题要么是巧合,要么是我们设备上的2.1造成的。我记得我的按钮在我的设备上看起来很好…我不记得更改了我的按钮配置…尝试过…是另外一回事。我确实注意到eclipse布局使用了一些“中等密度”屏幕…玩了一段时间后,什么地方都找不到…皮肤仍然显示240…完美。确实是这样。我发誓我已经试过了(根据下面的其他建议)。顺便说一句,我读过你的博客,也读过你的参考书!谢谢