我的values文件夹中有四个dimens.xml文件,不同的dimens.xml文件有不同的值。 例如,在dimens.xml(hdpi)中,u_video_width是306dp而dimens.xml(xhdpi)u_video_width是404dp。但是这个值不起作用,因为当我在Nexus S(480X800)中运行我的应用时hdpi模型genymotion
这就是我的视图:
[![这就是我的视图] [1]] [1]
正如我在hdpi dimens文件夹中所说,我有302dp,但是当我运行我的应用程序时,我有不同的宽度(在XML活动文件中) 这是我的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>
这是我的尺寸xml文件
Nexus S的分辨率为480X800,我想让我的VideoView拥有302dp的hdpi分辨率和另一种分辨率 - 另一个dpi如何解决我的问题?
答案 0 :(得分:1)
为了使相同的尺寸在更高的dpi设备上显得相同,android将这些尺寸乘以常数即
对于mdpi,它是1x
hdpi 1.5x
xhdpi 2x
xxhdpi 3x
所以在你的情况下它是306 * 1.5 = 459px
VideoView
两侧都有空间复位(14dp~35像素)至少这是我理解的。希望它能帮到你。
答案 1 :(得分:0)
据我所知,似乎它正常运作。您的屏幕宽度为480px,VideoView
为306dp( hdpi 屏幕~453px),而且居中,它仍然有点差距。< / p>
如果您想在其他分辨率中使用相同的dp,只需从其他文件中删除u_video_width
即可。