Ich habe einen ziehbar zu passen, die als Hintergrund arbeiten muss. Es muss gedehnt werden, um den Bildschirm zu füllen (das Seitenverhältnis wird ignoriert).Imageview ist Stretching den Bildschirm nicht
Ich habe geeignete Größen für LDPI, MDPI, hdpi und xhdpi zur Verfügung gestellt. (ich weiß, dass sie durch das Verhältnis der entsprechenden Breiten und Höhen geeignet sind, das ist genug?)
Ich habe versucht, dies zu tun, wie folgt:
mit Scaletype: fitXY auf dem Imageview
Dies hinterlässt einen weißen Rand (innerhalb?) Der Bildansicht.
Eine Arbeit um, dass ich nicht zufrieden bin mit ist Zentrum für die Scaletype wie folgt aus:
ich nicht zufrieden bin, weil das Problem besteht nach wie vor auf dem Tablet Bildschirme.
Hinweis:
- Wie Sie vielleicht bemerkt haben, habe ich versucht, die vorgeschlagenen Korrekturen an anderer Stelle auf SO wie Ansicht Grenzen auf true einstellen Einstellung. Sie haben hier nicht helfen. :(
- Ich möchte eine nicht-programmatische Antwort/beheben, wie dies in XML selbst. Ich würde nicht wirklich Code schreiben wollen, um ein Hintergrundbild zu setzen; Das Leben sollte viel einfacher als das. (: P)
Update 1:
Hier ist das XML-Layout
<merge xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" -->
<!-- xmlns:tools="http://schemas.android.com/tools" -->
<!-- android:id="@+id/FrameLayout1" -->
<!-- android:layout_width="fill_parent" -->
<!-- android:layout_height="fill_parent" -->
<!-- tools:context=".SplashScreen" > -->
<!--
This FrameLayout insets its children based on system windows using
android:fitsSystemWindows
-->
<View
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="onClickTapToContinue"
>
</View>
<ImageView
android:id="@+id/bg_gradient"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="fill"
android:adjustViewBounds="true"
android:contentDescription="@string/this_is_the_background_image"
android:scaleType="center"
android:src="@drawable/bg_gradient" />
<ImageView
android:id="@+id/bg_artwork"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:contentDescription="@string/artwork_man"
android:src="@drawable/bg_artwork" />
<!-- </FrameLayout> -->
<ImageView
android:id="@+id/branding"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:adjustViewBounds="true"
android:contentDescription="@string/branding_text"
android:maxHeight="95dp"
android:paddingTop="5dp"
android:src="@drawable/title_wlcm" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center"
android:paddingBottom="5dp"
android:text="@string/tap_continue"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/white" />
</merge>
lassen Sie mich hinzufügen, dass ich andere scaleType Optionen ausprobiert habe und diese scheinen nicht zu beheben. (wie im WYSIWYG-Editor zu sehen) –
können Sie versuchen, Hintergrund zum übergeordneten LinearLayout selbst durch usig hinzuzufügen 'android: background =" @ drawable/bg_gradient "' mit 'layout_width' und' layout_height 'entspricht' "match_parent" '. – pyus13
@ pyus13 Ich habe das versucht, aber das hat wirklich nicht geholfen. Ich habe ähnliche Ergebnisse. Und der Grund, warum ich framelayout hier verwende, ist: 1) Ich kann "verschmelzen" und eine Ebene der Ansichtshierarchie beseitigen 2) der Farbverlauf, der Mann, Branding sind alle verschiedenen Bilder, die überlappt werden müssen –