Text View auf Bild fest platzieren

  • Guten Abend,


    Ich entwickle aktuell eine App die Messwerte auf einer Grafik im Hintergrund darstellen soll.
    Probleme bereitet mir das exakte platzieren des Textes über der Grafik. Für unterschiedliche Displays auf dem jeweiligen Endgerät ändert sich auch immer die Position des Textes gegenüber dem Bild, was ich ja Verhindern möchte.
    Das Bild im Hintergrund hat folgende Eigenschaften:

    XML
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    Mein Lösungsansatz war es den Text in einem RelativeLayout mit marginStart und einer spezifischen dp-Wert zu platzieren. Dies erfüllt allerdings nicht die gewünschte Wirkung. Je nach Bildschirmgröße wird der Text unterschiedlich Verschoben im Bezug auf das Bild dargestellt. :/


    Das angehängten Bild zeigt einen kleinen Ausschnitt aus dem dahinter liegende Bild, um meine Frage zu verdeutlichen. Unterhalb des Pfeiles wollte ich die TextView platzieren.



    Kennt jemand von euch eine Lösung dafür? Lässt sich die TextView an einer (von mir aus durch die Bildpixel definierten) Stelle positionieren?



    --
    Gruß & Schönes Wochenende
    XDeveloper

  • Hallo,


    Android bietet dir die Möglichkeit die Größen in dp anzugeben, wodurch die Größeder Elemente schon äußerst gut an die unterschiedlichen Bildschirmgrößen angepasst werden.
    Um nun aber auch den Text an der immer an der richtigen Stelle stehen zu haben musst du die Größe des ImageView auch Fest setzen

  • Super @Chrisomat das hilft mir auf jeden fall schon einmal weiter!



    Das Problem ist, dass ich mit einem FrameLayout mit festen Abmessungen jetzt das Bild nicht mehr auf die breite des Screens skalieren kann. Für eine solche Skalierung müsste sich ja quasi dynamisch die layout_width des FrameLayout gekoppelt mit dem marginLeft des TextView verändern :huh:


    Wie könnte man das realisieren?

  • das ist theoretisch durch die dp zahl bereits gekoppelt. Android berechnet die px durch die dp zahl die du angegeben hast. wenn Android also feststellt dass 1dp == 4,325234535235 px auf deinem gerät ist, dann verändert sich die größe deines layouts im selben verhältnis wie die abstände die du angegeben hast.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!