Ich platziere eine Anwendungsleiste oben auf dem Bildschirm und es sieht aus wie in der folgenden Abbildung:
Jetzt möchte ich einen Text über das Bild setzen, damit das Bild wie folgt aussieht:
Wie lege ich einen Text über ein Bild? Danke im Voraus
Bitte versuche den untenstehenden Code.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="horizontal"
Android:layout_width="fill_parent"
Android:layout_height="50dp"
Android:background="@drawable/your background image">
<LinearLayout
Android:layout_height="fill_parent"
Android:layout_width="fill_parent"
Android:layout_weight="1"
Android:gravity="center"
Android:orientation="vertical">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:textColor="@color/white"
Android:textSize="18sp"
Android:textStyle="bold"
Android:singleLine="true"
Android:text="Subject"/>
</LinearLayout>
</LinearLayout>
Wenn Sie möchten, dass der Text auf einem Bild zentriert wird, benötigen Sie lediglich eine Textansicht und keine Bildansicht. Setzen Sie Android:background="@drawable/yourImage"
in der TextView.
So habe ich es gemacht und es hat genau so funktioniert, wie Sie es wollten:
<ImageView
Android:id="@+id/myImageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/myImageSouce" />
<TextView
Android:id="@+id/myImageViewText"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignLeft="@+id/myImageView"
Android:layout_alignTop="@+id/myImageView"
Android:layout_alignRight="@+id/myImageView"
Android:layout_alignBottom="@+id/myImageView"
Android:layout_margin="1dp"
Android:gravity="center"
Android:text="Hello"
Android:textColor="#000000" />
Verwenden Sie dazu das relative Layout
FrameLayout
(Tutorial)<FrameLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<ImageView
Android:id="@+id/ImageView01"
Android:layout_height="fill_parent"
Android:layout_width="fill_parent"
Android:src="@drawable/lake"
Android:scaleType="matrix"></ImageView>
<TextView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textColor="#000"
Android:textSize="40dp"
Android:text="@string/top_text" />
<TextView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/bottom_text"
Android:layout_gravity="bottom"
Android:gravity="right"
Android:textColor="#fff"
Android:textSize="50dp" />
</FrameLayout>
Oder
2.Verwenden Sie ein Bild als Hintergrund: Android:background="@drawable/yourImage"
Wenn Sie eine beliebige Ansicht einer anderen Ansicht in einem relativen Layout anzeigen möchten, müssen Sie die Ansicht der obersten Ebene unterhalb der untergeordneten Ansicht definieren
<ImageView
Android:id="@+id/myImageView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/myImageSouce" />
<TextView
Android:id="@+id/myImageViewText"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_margin="1dp"
Android:gravity="center"
Android:text="Hello"
Android:textColor="#000000" />
es gibt viele Möglichkeiten, Text über einem Bild anzuzeigen
1) Sie können dieses Bild mit Text erstellen ... 2. Sie können den Hintergrund (dieses Bild) für die Textansicht einstellen.
Wenn ich richtig vermutete, versuchen Sie, Header für Ihre Probe zu verwenden.
Legen Sie den Hintergrund als das Bild fest und fügen Sie dem Text so eine Textansicht hinzu ..
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_height="55px"
Android:background="@drawable/testheader"
Android:layout_width="fill_parent"
Android:orientation="horizontal">
<TextView Android:id="@+id/quaddeal_header_text"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="12dip"
Android:text="Campus"
Android:textSize="20sp"
Android:textColor="@color/white"
Android:layout_marginLeft="90dip"/>
</RelativeLayout>
Oder Sie müssen die Layouts mit Framelayout zusammenführen.
Überprüfen Sie dieses Beispiel für das Rahmenlayout
Sie können FrameLayout verwenden, um Text über Bild wie folgt zu erhalten: -
<FrameLayout Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<ImageButton
Android:id="@+id/imgbtnUploadPendingPods"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/com" />
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:gravity="center_horizontal"
Android:layout_gravity="center"
Android:text="hii"
Android:textAppearance="?android:attr/textAppearanceSmall" />
</FrameLayout>