Je place une barre d'application en haut de l'écran qui ressemble à la figure suivante:
Maintenant, je veux définir un texte sur l'image, de sorte que l'image se présente comme suit:
Comment définir un texte sur une image? Merci d'avance
S'il vous plaît essayez le code ci-dessous.
<?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>
Si vous voulez simplement que le texte soit centré sur une image, il vous suffit d'un TextView, pas de vue d'image. Définissez Android:background="@drawable/yourImage"
sur le TextView.
Voilà comment je l'ai fait et cela a fonctionné exactement comme vous l'aviez demandé:
<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" />
Utiliser la mise en page relative pour cela
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>
Ou
2.Utilisez une image comme arrière-plan: Android:background="@drawable/yourImage"
Si vous souhaitez afficher n'importe quelle vue sur une présentation relative, vous devez définir la vue de niveau supérieur sous la vue de niveau inférieur ... par exemple
<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" />
il y a beaucoup de façons d'afficher du texte sur une image
1) Vous pouvez créer cette image avec du texte ... 2.
Si j'ai bien deviné, vous essayez d'utiliser Header pour votre échantillon.
Définissez l’arrière-plan comme image et ajoutez la vue texte à cette image.
<?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>
Sinon, vous devez fusionner les mises en page en utilisant Framelayout.
Cochez cette case Exemple pour la disposition du cadre
Vous pouvez utiliser FrameLayout pour créer du texte sur une image comme ci-dessous: -
<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>