Widzę wiele aplikacji, które używają pełnoekranowego obrazu jako tła. To jest przykład:
Chcę to wykorzystać w projekcie, najlepszym sposobem, jaki do tej pory znalazłem, jest użycie obrazu o dużym rozmiarze, umieszczenie go w a ImageView
i użycie android: adjustViewBounds="true"
do dostosowania marginesów
Problem polega na tym, że jeśli ekran o bardzo wysokiej rozdzielczości, obraz jest za mały.
Inną opcją myślałem jest skorzystanie z obrazu w sposób FrameLayout
, z match_parent
w width
i height
jako tło ... to rozciąga obraz, ale myślę, że wynik nie jest bardzo dobra.
Jak byś to zrobił?
android
background
imageview
android-framelayout
Sergio76
źródło
źródło
android:scaleType="centerCrop"
Odpowiedzi:
Możesz to zrobić na kilka sposobów.
Opcja 1:
Twórz różne doskonałe obrazy dla różnych dpi i umieszczaj je w odpowiednim folderze do rysowania. Następnie ustaw
android:background="@drawable/your_image"
Opcja 2:
Dodaj jeden duży obraz. Użyj FrameLayout. Jako pierwsze dziecko dodaj plik
ImageView
. Ustaw następujące elementy w swoim ImageView.źródło
Inną opcją jest dodanie pojedynczego obrazu (niekoniecznie dużego) do drawables (nazwijmy go backgroung.jpg), utworzenie ImageView iv_background w katalogu głównym twojego xml bez atrybutu „src”. Następnie w metodzie onCreate odpowiedniego działania:
Bez przycinania, bez wielu obrazów o różnych rozmiarach. Mam nadzieję, że to pomoże!
źródło
Powinieneś umieścić obrazy o różnych rozmiarach w następującym folderze
Aby uzyskać więcej informacji, odwiedź ten link
ldpi
mdpi
hdpi
xhdpi
xxhdpi
i użyj tła RelativeLayout lub LinearLayout zamiast używania ImageView jako poniższego przykładu
źródło
Unexpected namespace prefix "xmlns" found for tag RelativeLayout
Co powiesz na
android:background="@drawable/your_image"
na głównym planie Twojej działalności?
W ten sposób możesz mieć różne obrazy dla różnych gęstości ekranu, umieszczając je w odpowiednich
res/drawable-**dpi
folderach.źródło
Minęło trochę czasu od opublikowania tego, ale to mi pomogło.
Możesz używać układów zagnieżdżonych. Zacznij od RelativeLayout i umieść w nim swój ImageView.
Ustaw wysokość i szerokość tak, aby match_parent wypełniły ekran.
Ustaw scaleType = "centreCrop", aby obraz był dopasowany do ekranu i nie rozciągał się.
Następnie możesz wprowadzić dowolne inne układy, tak jak zwykle, na przykład LinearLayout poniżej.
Możesz użyć android: alpha, aby ustawić przezroczystość obrazu.
źródło
Jeśli chcesz, aby obraz wyświetlał się ZA przezroczystym paskiem akcji, umieść następujące elementy w definicji stylu motywu:
Cieszyć się!
źródło
Użyj tego
w swojej działalności pierwszy układ liniowy lub względny.
źródło
Zgodnie z odpowiedzią NoToast, musisz mieć wiele wersji "your_image" w swoich res / drawable-ldpi, mdpi, hdpi, x-hdpi (dla xtra dużych ekranów), usunąć match_parent i zachować android: adjustViewBounds = " prawdziwe"
źródło
Dodaj
android:background="@drawable/your_image"
wewnątrz swojego Układu relatywnego / Układu liniowego.źródło
Jeśli masz bg.png jako obraz tła, po prostu:
źródło
Pracujący. powinieneś wypróbować to:
źródło
three step for put background
1) powinieneś wybrać swoje zdjęcie. na przykład: wprowadź tutaj opis obrazu
2) Następnie kopiujesz to zdjęcie w wersji do rysowania. ostrzeżenie: powinieneś wybrać typy skrócone dla nazwy zdjęcie.
wprowadź opis obrazu tutaj
3) wchodzisz na stronę xml Przeznaczone i napisz:
android: background = "id picture", na przykład mój identyfikator obrazu to @ drawable / download.
wprowadź opis obrazu tutaj
koniec.
źródło
Najłatwiejszy sposób:
Krok 1: Otwórz plik AndroidManifest.xml
Możesz zobaczyć plik tutaj!
Krok 2: Zlokalizuj
android:theme="@style/AppTheme" >
Krok 3: Zmień na
android:theme="@style/Theme.AppCompat.NoActionBar" >
Krok 4: Następnie dodaj ImageView i obraz
Krok 4: To wszystko!
źródło