gpt4 book ai didi

android - 为什么在 Android XML 中指定时 1px 有时是 2px?

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:21 24 4
gpt4 key购买 nike

我想要一条单像素分隔线,只是为了好看。我想我可以使用高度为 1px 的 View 和定义的背景来完成此操作。但是,我在不同的设备上遇到了一些非常奇怪的行为——有时 1px 最终变成了 2px。

以这个示例布局为例:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
<View android:layout_width="fill_parent" android:layout_height="1px"
android:background="@android:color/white" android:layout_marginBottom="4dp" />
</LinearLayout>

在我的 G1 上运行时,this comes out fine .但是在 Nexus One 上,it alternates between 1px lines and 2px lines .

有谁知道这是哪里出了问题?为什么 Android 有时会将 1px 变成 2px?

编辑:为了使这一点绝对清楚,我并不特别关心如何解决我的示例;我关心的是在任何情况下都能说“此 View 应高 1 像素”,而不仅仅是这个例子。

最佳答案

您是针对 SDK 1.5 构建的,还是设置了 android:anyDensity="false"?如果您的应用没有说明它支持密度,那么 Android 将以兼容模式运行,使屏幕看起来像 mdpi 屏幕,缩放所有坐标和绘图以匹配实际屏幕密度。在像 Droid 这样的 hdpi 屏幕上运行,这是一个 1.5 倍的缩放比例,因此每隔一个“像素”将映射到屏幕上的两个像素。

当今的应用程序应该编写为支持不同的屏幕,在这种情况下,px 和 dp 单位将在所有屏幕上按预期运行。

关于android - 为什么在 Android XML 中指定时 1px 有时是 2px?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2699475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com