donoachua
donoachua

Reputation: 193

android different dimens not working

I have four dimens.xml files in my values folder and I have different values for different dimens.xml files. for example, in dimens.xml(hdpi) u_video_width is 306dp and dimens.xml(xhdpi)u_video_width is 404dp.but this values not working, because when i run my app in Nexus S (480X800) hdpi model genymotion

This is what my View looks like:

[![This is what my View looks like][1]][1]

As I said in hdpi dimens folder, I have 302dp but I have different width when I run my app (in XML activity file) this is a my XML code

<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>

This is a my dimens xml files

This is a my dimens xml files

Nexus S has 480X800 resolution and i want to my VideoView to have 302dp in hdpi resolution and another resolution--another dpi how I can solve my problem?

Upvotes: 1

Views: 2482

Answers (2)

Fabin Paul
Fabin Paul

Reputation: 1711

To make same dimension appear the same on higher dpi devices android multiply these dimension with a constant ie

for mdpi it is 1x

hdpi 1.5x

xhdpi 2x

xxhdpi 3x

So in your case it is 306 * 1.5 = 459px

reset of the space (14dp ~35 px) is available on both sides of VideoView

Please refer android developer page

At least this is what I understood. Hope it helps you.

Upvotes: 1

nacesk
nacesk

Reputation: 86

As far as I've understood, it seems it's working right. Your screen is 480px wide and your VideoView is 306dp(in a hdpi screen ~453px), and as it's centered, it remains a bit of margin.

If you want the same dp in another resolution, just remove u_video_width from the other files.

Upvotes: 0

Related Questions