我的值文件夹中有四个 dimens.xml 文件,不同的 dimens.xml 文件有不同的值。 例如,在 dimens.xml(hdpi) 中,u_video_width 是 306dp,而 dimens.xml(xhdpi)u_video_width 是 404dp。但是这个值不起作用,因为当我在 Nexus S (480X800) 中运行我的应用程序时,hdpi 模型 genymotion
这是我的 View 的样子:
[![这就是我的 View 的样子][1]][1]
正如我在 hdpi dimens 文件夹中所说的,我有 302dp,但是当我运行我的应用程序时我有不同的宽度(在 XML Activity 文件中) 这是我的 XML 代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#D53362">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true">
<VideoView
android:layout_width="@dimen/u_video_width"
android:layout_height="@dimen/u_video_height"
android:id="@+id/video_view"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
这是我的 dimens xml 文件
Nexus S 的分辨率为 480X800,我希望我的 VideoView 具有 302dp 的 hdpi 分辨率和另一个分辨率——另一个 dpi 如何解决我的问题?
最佳答案
为了使相同的尺寸在更高 dpi 的设备上看起来相同,android 将这些尺寸乘以常数即 ie
对于 mdpi 是 1x
高清像素 1.5 倍
xhdpi 2x
xxhdpi 3x
所以在你的情况下它是 306 * 1.5 = 459px
在VideoView的两边都可以重置空间(14dp ~35 px)
至少我是这么理解的。希望对你有帮助。
关于android 不同尺寸不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33410345/