web-dev-qa-db-ja.com

imageViewの上にテキストを設定する方法は?

画面の上部にアプリケーションバーを配置すると、次の図のようになります。

enter image description here

次に、画像にテキストを設定して、画像が次のようになるようにします。

enter image description here

画像の上にテキストを設定する方法は?前もって感謝します

22
Siva K

以下のコードを試してください。

<?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>
24
Chirag

単に画像の中央にテキストを配置したい場合、必要なのは画像ビューのないTextViewだけです。セットする Android:background="@drawable/yourImage" TextViewで。

29
Tenfour04

それは私がそれをやった方法であり、あなたが求めたとおりに機能しました:

<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" />

このために相対レイアウトを使用

21
Reeta
  1. FrameLayoutを使用 (チュートリアル)
<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>

または

2.画像​​を背景として使用:Android:background="@drawable/yourImage"

8
Ajay Patel

相対レイアウト上の他のビューのビューに任意のビューを配置する場合、低レベルビューの下にトップレベルビューを定義する必要があります。たとえば、

<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" />
2

画像の上にテキストを表示する多くの方法があります

1)uはこの画像をテキストで作成できます。2)uはtextviewの背景(この画像)を設定できます。

2
Niranj Patel

私が正しく推測した場合、あなたはあなたのためにヘッダーを使用しようとしています..

背景をその画像として設定し、テキストビューをこのように追加します。

<?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>

または、Framelayoutを使用してレイアウトをマージする必要があります。

これを確認してください フレームレイアウトのサンプル

1
Venky

以下のように、FrameLayoutを使用してImage上のテキストを実現できます。

<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>
0
pm dubey