如何在包含图像的imageview中显示文本

时间:2016-01-09 09:14:58

标签: android textview imageview

我不确定解释此问题的最佳方式,但我会尽力而为,我想要做的是拥有一个ImageView,其中包含一个图像和一个根据我的数据库中的结果更改的数字。

我的应用程序中有一个功能,允许用户为他们喜欢的电影+1,当有人+1电影结果发送到我的数据库时,我想用一种方法用ImageView将这个显示给用户在数据库中有+ 1的数字,类似于;

enter image description here enter image description here

我不确定这个叫什么,或者android中是否有这样的功能,经过多次尝试搜索答案后我找不到任何有用的东西,所以任何帮助都会很棒!同样地,我相信这不是展示我想要的最佳方式,所以如果您认为我可以使用更好的主意,请告诉我。

我希望我已经说清楚,如果没有,请告诉我。

5 个答案:

答案 0 :(得分:2)

您可以在一个Textview中设置图像和文本

// image as Backgound of textview 
textView.setBackgroundResource(R.drawable.img);

// text display of same textview 
textView.setText(yourstring);

答案 1 :(得分:1)

在RelativeLayout中,视图可以在彼此之上。最后一个视图位于其他视图之上。您可以将图像放在底部,将文本放在顶部。真正简单的解决方案是使用这样的东西。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent">

<ImageView
    android:src="your_image_here"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<TextView
    android:text="your number"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"/>

</RelativeLayout>

答案 2 :(得分:1)

使用相对布局,如-------

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="100dp" >

        <ImageView
            android:id="@+id/img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop"
            android:src="@drawable/ic_launcher" />
        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#000"
                android:text="Manish"
                android:layout_alignBottom="@+id/img"
                android:textSize="25dp" />

    </RelativeLayout>

答案 3 :(得分:1)

我认为最简单的解决方法是在没有覆盖任何内容的情况下使用TextView并使用可绘制资源设置其背景

  

1)你可以用文字制作这个图像。 2)你可以设置背景(这个   textview。

TextView t = (TextView)findViewById(R.id.my_text_view);
// setting gravity to "center"
t.setGravity(Gravity.CENTER);
t.setBackgroundResource(R.drawable.my_drawable);
t.setText("FOO");
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/flag"
        android:layout_width="fill_parent"
        android:layout_height="250dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:scaleType="fitXY"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

答案 4 :(得分:0)

使用FrameLayout。基本上,可以让文本覆盖图像,给人一种文本在图像中的印象。

另一种方法是简单地设置一个布局,背景为图像,然后在第一个布局中添加TextView布局。

最后,只需创建一个TextView布局并将其背景设置为图像。