2015-05-30 11 views
9

Problem: układ wyświetlany inaczej na różnych urządzeniach na tym samym ekranie rozdzielczości. Przetestowałem to na Samsung Galaxy S4 (1080x1920) i na LG G2 (1080x1920). Ta sama rozdzielczość, dlaczego układ jest wyświetlany inaczej na każdym urządzeniu?Układ wyświetlany inaczej na różnych urządzeniach na tym samym ekranie rozdzielczości

Mam wszystko w folderze układu i nie mam innych układów dla innych rozdzielczości.

Oto ekrany:

  • Samsung Galaxy S4

http://www.image-share.com/ijpg-2963-272.html

  • LG G2

http://www.image-share.com/ijpg-2963-271.html

EDIT # 1

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/layoutMain" 
tools:mContext="com.test.app.flock.mActivity"> 

<ImageView 
    android:id="@+id/imageViewImageBackground" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:visibility="gone" /> 

<View 
    android:id="@+id/viewBackground" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/background01" /> 

<View 
    android:id="@+id/viewFingerprint" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/fingerprint01" 
    android:visibility="gone" /> 

<Button 
    android:id="@+id/buttonScanning" 
    android:layout_width="162dp" 
    android:layout_height="130dp" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="41dp" 
    android:background="@android:color/transparent" /> 

<ImageView 
    android:id="@+id/imageViewScanner" 
    android:layout_width="162dp" 
    android:layout_height="130dp" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="41dp" 
    android:src="@drawable/line01" 

    android:visibility="gone" /> 

<TextView 
    android:id="@+id/textViewResult" 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:layout_centerHorizontal="true" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="180dp" 

    android:text="SCANNING" 
    android:textSize="30sp" 
    android:textColor="@android:color/white" 
    android:textStyle="bold" 
    android:gravity="center" 

    android:visibility="gone" /> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="55dp" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="112dp" 
    android:orientation="vertical"> 

    <DigitalClock 
     android:id="@+id/digitalClock" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="7" 

     android:textSize="30sp" 
     android:textColor="@android:color/white" 
     android:gravity="center" 
     android:textStyle="bold" /> 

    <TextView 
     android:id="@+id/textViewDate" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="10" 

     android:text="10 Grudzien 2015" 
     android:textSize="20sp" 
     android:textColor="@android:color/white" 
     android:gravity="center" 
     android:textStyle="bold" /> 

</LinearLayout> 

+0

Chodzi o gęstość pikseli. Nie powinieneś mieć żadnych problemów, ponieważ używasz XML dla interfejsu użytkownika, a szerokość i wysokość określasz w DP (piksel gęstości). – Vlad

+0

Układ wyświetlany jest inaczej tylko na S4. Na innych urządzeniach o tej samej rozdzielczości ekranu wszystko jest dobre. Więc gdzie jest problem? –

+0

Czy rozwiązałeś ten problem? Mam ten sam problem: http://new.izigo.pt/content/images/IMG_3209.JPG – Patrick

Odpowiedz

5

telefony mają ten sam rozkład, jednak wysokość okna jest inna, ponieważ LG G2 ma przycisków nawigacyjnych na ekranie.

+0

Hm, to prawda. naprawiać? Jak tworzyć oddzielne układy? –

+1

Zamiast próbować ustawiać widoki absolutnie tak, aby * wyglądało * mają własne tło, tworzyć jedno tło dla całego ekranu i tła dla każdego widoku – Lamorak

+0

Może to sposób na zrobienie dwa pliki xml dla urządzenia z paskiem nawigacyjnym i bez? –

0

Problem nie leży w rozkładzie lub gęstości, ale na różnych wysokościach, z powodu obecności paska przycisków. jako obraz ustawiony jako background z View będzie rozszerzać, zniekształcając się, proponuję umieścić go jako src z ImageView i ustawić scaleType do fitCenter, w ten sposób obraz będzie pasował do ekranu zachowaniu proporcji:

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scaleType="fitCenter" 
    android:src="@drawable/background01" /> 
+0

Cześć, dziękuję! W moim przypadku jest to webView z loadUrl, więc nie mam dostępu do obrazu, jest on w kodzie HTML. – Patrick

+0

Ok, oglądałem kod, który wysłałeś –

Powiązane problemy