Android 如何在imageView上设置文本?

Android 如何在imageView上设置文本?,android,android-layout,android-imageview,textview,Android,Android Layout,Android Imageview,Textview,我在屏幕顶部放置了一个应用程序条,如下图所示: 现在,我想在图像上设置一个文本,使图像如下所示: 如何在图像上设置文本?提前感谢请尝试以下代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:lay

我在屏幕顶部放置了一个应用程序条,如下图所示:

现在,我想在图像上设置一个文本,使图像如下所示:


如何在图像上设置文本?提前感谢

请尝试以下代码

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

有很多方法可以在图像上显示文本

1) 您可以使用文本制作此图像。。
2) 您可以为textview设置背景(此图像)。

如果我猜对了,您正在尝试为示例使用标题

将背景设置为该图像,并向其添加文本视图,如下所示

<?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合并布局


选中此项

如果您只是希望文本位于图像的中心,则只需要一个文本视图,而不需要图像视图。在TextView上设置android:background=“@drawable/yourImage”

  • 使用
    FrameLayout
  • 
    


    2.使用图像作为背景:
    android:background=“@drawable/yourmage”

    我就是这样做的,它完全按照您的要求工作:

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

    使用此相对布局

    如果要在相对布局上的任何其他视图上放置任何视图,则需要在低层视图下定义顶层视图。。。比如说

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

    您可以使用FrameLayout实现图像上的文本,如下所示:-

    <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>
    
    
    
    但这只适用于静态图像。例如,如果一个新闻应用程序想要在图像上设置标题,该怎么办?每一天的图像和变化news@ojonugwaochalifu
    textView.setBackgroundDrawable()
    textView.setText()
    正如我经常发现的那样,其中许多已经不起作用了。在这种情况下,我不得不将“android:gravity”更改为
    android:layout\u gravity=“center”
    这应该是一个以可绘制设置为背景的文本视图
    <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>