Die Platzierung von text-anzeigen über ein Bild anzeigen mit FrameLayout
Unten ist, wie ich mir eine xml. Was ich jetzt versuche zu passen eine textview in das weiße Kästchen unten dargestellt. Aber bin dabei auf FrameLayout (zumindest denke ich so), die ich brauche, um hard-code-Werten der text-Ansicht passen sich in der Mitte oder wo einige in das weiße Kästchen. Ich kann nicht, verwenden Sie Relative oder anderen layouts, die für diesen Zweck wie ich verstanden habe durch meine Studien als dieses ganze ist ein einziges Bild.
Hier ist mein layout,
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:visibility="visible" android:layout_marginTop="60dip"
android:layout_gravity="center" android:id="@+id/xxx">
<ImageView android:id="@+id/calloutquizImage"
android:background="@drawable/callout" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:scaleType="fitCenter" />
<ImageView android:id="@+id/triviaImage"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/calloutquizImage" android:layout_gravity="left"
android:src="@drawable/trivia" android:background="@drawable/trivia"
android:layout_marginTop="50dip" android:layout_marginLeft="85dip"></ImageView>
<TextView android:text="TextView" android:id="@+id/triviAnswerText"
android:layout_marginTop="125dip" android:layout_marginLeft="85dip"
android:layout_gravity="left" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textColor="#000000"
android:typeface="sans"></TextView>
<ImageButton android:id="@+id/triviaanswercloseButton"
android:src="@drawable/closebtn" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/closebtn"
android:layout_marginRight="8dip" android:layout_marginTop="43dip"
android:layout_gravity="right" android:onClick="triviaanswerClose"></ImageButton>
<ImageView android:id="@+id/buttontoclose"
android:layout_gravity="left"
android:visibility="visible" android:onClick="triviaanswerClose"
android:layout_marginTop="50dip" android:layout_marginLeft="75dip"
android:layout_width="230dip" android:layout_height="170dip"></ImageView>
</FrameLayout>
Weil von diesem die text-Ansicht sieht in den unterschiedlichen Positionen, die in verschiedenen Handys.
Jeder ahnt, was getan werden kann, für diese statt?
Unten ist mein Bild :
InformationsquelleAutor tejas | 2012-09-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sind nicht das richtige zu tun. Wenn Sie möchten, dass ein text in einem weißen Feld (oder sogar die Größe der es, wenn es zu viele text passen) - Sie können noch vermeiden, alle layouts ad-tun Sie es mit nur eine TextView.
Bitte haben Sie einen Blick, was ist
NinePatch
Bild im Android:http://developer.android.com/reference/android/graphics/NinePatch.html
http://developer.android.com/tools/help/draw9patch.html - Zeichnung tools
Also im Grunde benötigen Sie nur 1 textView und Ihr Bild korrekt konvertiert 9-patch mit dem 2. link. (Im Grunde - nur fügen Sie ein paar schwarze Pixel am Bildrand).
Nein, gerade diese 9-patch als hintergrund der textView. Es wird der text Recht wo Sie Sie brauchen, und wird schrumpfen white-box-wenn Sie definieren also in 9-patch.
UPD:
Finden Sie die resultierende screenshot:
Wie Sie sehen können, textView nicht verarbeitet
WhiteBox - " selbst, füllen es mit text-und Größenänderung der box, wenn nötig.
Hier ist, wie es funktioniert:
Hier ist dein Bild, umgewandelt 9patch. Setzen Sie es auf "drawable/" - Ordner. Hinweis: es MUSS "zurück.9.png" Namen.
Details, wie 9patch funktioniert, können Sie überprüfen Sie den obigen links. Die Grundidee: durch die schwarzen Punkte auf der linken und oberen Grenze - geben Sie an, welcher Teil des Bildes gestreckt werden, wenn Bild muss hochskaliert. Indem Sie Punkte auf der rechten/unteren Seite, die Sie sagen, die Anzeigen, wo die Inhalte. In unserem Fall ist der Inhalt ein text der TextView.
Hoffe es hilft, viel Glück
Yep, gib mir eine Sekunde, ich bin nicht sehr vertraut mit der Farbe 🙂
ok, auch mich zu 🙂
Finden Sie eine Antwort aktualisiert. Durch die Art und Weise, in RelativeLayout Sie immer noch zu verwalten, um Ansichten in der Z-Achse - Ansichten sind nur auf der jeweils anderen in der Reihenfolge der Deklaration innerhalb <RalativeLayout> - tag. Allerdings 9patch ist viel mehr flexible und effiziente Lösung in diesem Fall.
Leider will ich das weiße Feld und behalten Ihre Größe. Und wie kommt der text erscheint in der box für Sie! Es wird von außerhalb der box für mich 🙁
InformationsquelleAutor AlexN
Ich denke, Sie können mit einem
RelativeLayout
innerhalb derFrameLayout
für dieImageView
und dieTextView
, und indem die Parameter, Sie können dieTextView
auf das weiße Feld. Finden Sie die LayoutParams Dokumentation für details.zB. Sie können die
ImageView
block zuerst und dann dieTextView
, so dass dieTextView
liegen wird, über dieImageView
auch durch die Verwendung der unten ausrichten, und die Angabe von oberen Seitenrand mit einem negativen Wert, können Sie dieTextView
gehen über das Bild. Oder eher, wenn Sie mit eclipse, können Sie direkt ziehen Sie das text-anzeigen im Grafik-layout.Ähnlich wie oben, können Sie angeben, Rand Links und rechts, um richtig zu positionieren Sie Ihre
TextView
wie Sie wollen. Überprüfen Sie mit Grafik-layout-für feedback, um zu wissen, die richtige position.Bitte Antworten Sie, wenn das geholfen.
Verwenden Sie Ihre Bilder und Werte für die Höhe und Breite. Ich habe nur versucht, zum testen.
Bitte sehen Sie sich den Bearbeiten. es arbeitete. Ich habe diese viele Male. :).
android:layout_below="@+id/imageView1" diese Orte text-Ansicht unten das weiße Feld, nicht in white-box
ja. jetzt verwenden Sie die marginTop Wert navigieren Sie über das Bild!!! tht ist der Grund, warum ich gegeben habe, der negative Wert. bitte versuchen Sie den code und kommentieren Sie Sie dann. Nicht nur die Kommentar nach dem kompilieren es nur vom sehen.
stackoverflow.com/questions/12231138/... sehen Sie sich bitte die Frage. seinen fast der gleiche Fall. statt imagebuttom, es ist ein textview.
InformationsquelleAutor Lakshmi Narayanan