1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Density independence

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Peter123, 24.06.2012.

  1. Peter123, 24.06.2012 #1
    Peter123

    Peter123 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    103
    Erhaltene Danke:
    7
    Registriert seit:
    13.11.2010
    Bei meiner App wird eine runde Grafik in der mitte der Activity angezeigt. In der 480x800 Auflösung funktioniert das auch super. Nur habe ich das Problem, dass zum Beispiel in der 320x480 Auflösung der Kreis in der Grafik viel zu klein ist.
    Die kreis.png Grafik befindet sich in drawable-hdpi und hat folgende Maße: 470x470 .
    Auch wenn ich eine Grafik mit 310x310 in den drawable-mdpi Ordner kopiere, bekomme ich das gleiche Ergebnis.
    Die Grafiken werden mit folgendem Code eingebunden:
    Code:
    <ImageView
            android:id="@+id/indicator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
         	android:layout_centerHorizontal="true"
         	android:layout_centerVertical="true"
         	android:adjustViewBounds="true"
         	android:scaleType="fitCenter"
         	
            />
    Der background der ImageView wird per Code hinzugefügt.

    Wie bekomme ich es hin, dass der Kreis in der Mitte der Activity immer bis kurz vor den Rand des Displays geht?

    http://imageshack.us/photo/my-images/857/apppv.jpg/
     
    Zuletzt bearbeitet: 24.06.2012
  2. wilco, 24.06.2012 #2
    wilco

    wilco Android-Hilfe.de Mitglied

    Beiträge:
    106
    Erhaltene Danke:
    32
    Registriert seit:
    10.08.2010
    Density und Bildschirmauflösung haben per se nichts miteinander zu tun. Die Density gibt an wie dicht die Pixel auf dem Display aneinander gereiht sind, die Auflösung gibt an wie viele Pixel es gibt.

    Du möchstest die Display-Auflösung fast vollständig füllen. Am besten machst Du das indem Du per Programm-Code ermittelst wieviel Platz Du hast (d.h. wie groß die Display-Auflösung ist). Davon ziehst Du dann einen fixen Wert ab um einen Rand zu lassen. Diesen fixen Wert solltest Du density-abhängig gestalten.

    Mit den somit erhaltenen Abmessungen skalierst Du Deine Grafik von Hand (via createScaledBitmap) und zeichnest den Kreis dann damit.
     
  3. MusicJunkie666, 24.06.2012 #3
    MusicJunkie666

    MusicJunkie666 Android-Ikone

    Beiträge:
    4,180
    Erhaltene Danke:
    583
    Registriert seit:
    16.01.2012
    Kann man den Kreis nicht als Vektor Grafik machen? Wäre doch irgendwie schlauer mit der Methode von meinem Vorposter...

    Gesendet von meinem HTC EVO 3D X515m mit Tapatalk 2
     
  4. neandertaler19, 24.06.2012 #4
    neandertaler19

    neandertaler19 Ehrenmitglied

    Beiträge:
    10,344
    Erhaltene Danke:
    1,929
    Registriert seit:
    28.01.2011
    Klar, mit InkScape z.B. und dann in den vier Größen ablegen.
     

Diese Seite empfehlen