android不同维无法正常工作

时间:2015-10-29 09:28:17

标签: android android-activity dimensions android-screen-support

我的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文件

This is a my dimens xml files

Nexus S的分辨率为480X800,我想让我的VideoView拥有302dp的hdpi分辨率和另一种分辨率 - 另一个dpi如何解决我的问题?

2 个答案:

答案 0 :(得分:1)

为了使相同的尺寸在更高的dpi设备上显得相同,android将这些尺寸乘以常数即

对于mdpi,它是1x

hdpi 1.5x

xhdpi 2x

xxhdpi 3x

所以在你的情况下它是306 * 1.5 = 459px

VideoView

两侧都有空间复位(14dp~35像素)

请参阅android developer page

至少这是我理解的。希望它能帮到你。

答案 1 :(得分:0)

据我所知,似乎它正常运作。您的屏幕宽度为480px,VideoView为306dp( hdpi 屏幕~453px),而且居中,它仍然有点差距。< / p>

如果您想在其他分辨率中使用相同的dp,只需从其他文件中删除u_video_width即可。