Entspricht der Bildansicht scaleType 'centerCrop' bitmap-drawable Schwerkraft

Ich erstellt habe, eine Aktivität mit einem header-Bild. Das header-Bild ist ursprünglich int die Aktivität der layout-xml-Daten über eine Bildansicht, wo die scaleType eingestellt ist centerCrop. Das tut, was ich will, es zentriert das Bild, clipping es Links und rechts im portrait-Modus, zeigt alle im Querformat.

<LinearLayout 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:paddingTop="30dp"
    android:paddingBottom="6dp"
    android:paddingLeft="6dp"
    android:paddingRight="6dp"
    android:background="#919EAC"
    android:orientation="vertical" >

<ImageView
    android:id="@+id/header_image"
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:contentDescription="@string/header_description"
    android:scaleType="centerCrop"
    android:src="@drawable/header" />

    .... <other views> ...

Möchte ich diese ersetzen mit einem hintergrund drawable so, dass ich das header-Bild Raum für die Anzeige von Daten, und es erspart mir die Wiederholung der gleichen layout in den verschiedenen Aktivitäten.

Aus diesem Grund habe ich einen drawable, dass ich kann beziehen sich auf in der android:background-Attribut:

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
        <item>
            <shape android:shape="rectangle" >
                <solid android:color="#919EAC" />
            </shape>
        </item>
        <item>
            <bitmap 
                android:antialias="true"
                android:gravity="top|center_horizontal"
                android:src="@drawable/header" />
        </item>
    </layer-list>

Diese drawable definiert den farbigen hintergrund, sonst würde das layout definieren und es wird ein header-Bild, die sonst mit eingeplant werden als Bildansicht.

Aber jetzt ist mein Bild skaliert wird, während ich möchte, dass es beschnitten werden.

Überprüfung der Android-Dokumentation, die ich habe versucht, andere Schwerkraft-Modi wie

    android:gravity="top|clip_horizontal"

Aber es scheint immer noch die Anzeige/Skala anders ist als das Bild anzuzeigen.

Was wäre die richtige definition der hintergrund drawable?

  • Sie waren in der Lage zu finden eine Lösung für Ihr problem? Ich bin kämpfen, mit der gleichen Sache.
  • im Zusammenhang stackoverflow.com/questions/5119366/...
  • Wie wärs mit "fill_vertical|clip_horizontal"
InformationsquelleAutor M. le Rutte | 2013-03-13
Schreibe einen Kommentar