2015-12-24 9 views
6

Obecnie mam następujący kod XML dla mojego widoku niestandardowego:ImageView tapety wewnątrz widoku niestandardowego nie jest wyświetlane na niektórych urządzeniach

<com.pink.jazz.RootView 
    android:id="@+id/rootView" 
    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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingStart="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingEnd="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MouseActivity" > 

    <ImageView 
     android:id="@+id/mouse_hole" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/mouse_hole" 
     android:visibility="gone" 
    /> 
</com.pink.jazz.RootView> 

W przypadku niektórych urządzeń (takich jak Samsung Galaxy Tab 4), tapetę mouse_hole pokazuje dobrze, a nie pojawia się w ogóle na innych urządzeniach, takich jak Asus Transformer Infinity TF700T. Widoczność mouse_hole zmienia się na widoczną programowo po uruchomieniu gry. Mój widok niestandardowy obejmuje RelativeLayout.

Czy ktoś może wiedzieć, co jest nie tak?

+0

Ten tablet firmy Asus przeznaczony do karania ludzi. To nie pierwszy problem. Mówiąc to, możesz umieścić kod, który zmienia widoczność 'mouse_hole'? –

+0

Jak duży jest draw do mouse_hole? – scana

+0

Re: Scana Rzeczywisty rozmiar to 1920x1200, ale próbowałem przekonwertować go na mapę bitową (aby zaoszczędzić pamięć) i skalować go do 1280 x 800, ale nadal nie wyświetla się. –

Odpowiedz

0

Miałem podobny problem. Staraj się umieścić swoje zdjęcie mouse_hole w każdym Forder o różnych rozmiarach ekranu:

odkształcalne-hdpi

odkształcalne-ldpi

odkształcalne-MDPI

odkształcalne-xhdpi

odkształcalne-xxhdpi

drawable-xxxhdpi

0

Możliwe, że układ nie jest poprawnie aktualizowany. Sugeruję użycie HierarchyViewer do sprawdzenia rozmiaru i położenia brakującego widoku na Asus Transformer Infinity. Oto kroki, które prawdopodobnie mają do czynienia z coraz Hierarchy Viewer do współpracy z Asus:

  1. Upewnij się, że debugowanie na Asus
  2. Dodaj ViewServer Jar do projektu.
  3. Tymczasowo dodaj wywołania biblioteki, aby udostępnić swoją aplikację przeglądarce Hierarchy Viewer, przykładowy kod może być seen here
  4. Otwórz przeglądarkę hierarchiczną. W android studio, które jest menu Narzędzia> Android Sub Menu> Android Device Monitor
  5. Upewnij się, że w hierarchii widok perspektywiczny
  6. Wybierz aplikację, z której korzystasz (może to zająć trochę dla układu, aby pokazać się)
  7. Użyj panelu węzłów drzewa, aby znaleźć brakujący widok.
  8. Wybierz widok, klikając go, użyj karty Właściwości widoku, aby sprawdzić, czy zmierzony rozmiar (znajdujący się w sekcji właściwości miary) dla szerokości i wysokości jest większy niż 0
  9. Sprawdź, czy widok znajduje się w granicach widoku rodzica, patrząc na sekcję właściwości layoutu (mLeft, mTop, mRight, mBottom), tutaj to jest link dla kogoś, kto patrzy na właściwości układu (chociaż śledzi problem z wydajnością).
Powiązane problemy