首页 \ 问答 \ 在android中的ImageView上显示TextView(Display TextView over ImageView in android)

在android中的ImageView上显示TextView(Display TextView over ImageView in android)

我想在图像视图上显示文本。 我就像Alesqui在这里建议的那样: Android Text over image

Android studio中的预览看起来很好: android Studio预览xml

但是我的实际结果与上面的文字不一样:

模拟器中的代码

我必须在执行期间动态地将以下XML添加到LinearLayout:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

</RelativeLayout>

我按以下方式添加它:

LinearLayout ll = (LinearLayout) findViewById(R.id.layout_story_covers);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    for (int i = 0; i < stories.size(); i++)
    {
        // add  imageView
        RelativeLayout coverLayout = (RelativeLayout) inflater.inflate(R.layout.fragment_cover, null);
        ImageView imageView =(ImageView) coverLayout.findViewById(R.id.imageViewCover);
        TextView textView = (TextView) coverLayout.findViewById(R.id.textViewCover);
        textView.setText(stories.get(i).title);
        imageLoader.displayImage(stories.get(i).cover.fileUrl, imageView);
        ll.addView(coverLayout);
    }

这必须与父线性LinearLayout有关。 获得结果的正确方法是什么?


I want to display a text over an Image View. I do it like Alesqui suggested here: Android Text over image

The preview in Android studio looks fine: android Studio preview of the xml

But my actual result looks like this with the text unwantedly above:

Code in Emulator

I have to add the following XML dynamically to a LinearLayout during the execution:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativelayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

</RelativeLayout>

I add it the following way:

LinearLayout ll = (LinearLayout) findViewById(R.id.layout_story_covers);
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    for (int i = 0; i < stories.size(); i++)
    {
        // add  imageView
        RelativeLayout coverLayout = (RelativeLayout) inflater.inflate(R.layout.fragment_cover, null);
        ImageView imageView =(ImageView) coverLayout.findViewById(R.id.imageViewCover);
        TextView textView = (TextView) coverLayout.findViewById(R.id.textViewCover);
        textView.setText(stories.get(i).title);
        imageLoader.displayImage(stories.get(i).cover.fileUrl, imageView);
        ll.addView(coverLayout);
    }

This must have something to do with that parent LinearLayout. What is the proper way to do get the result?


原文:https://stackoverflow.com/questions/26976135
更新时间:2019-11-21 10:10

最满意答案

试试这个:

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

    <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_centerInParent="true"
        android:layout_margin="1dp"
        android:gravity="center"
        android:text="Hello"
        android:textColor="#000000" />

</RelativeLayout>

Try this instead:

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

    <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_centerInParent="true"
        android:layout_margin="1dp"
        android:gravity="center"
        android:text="Hello"
        android:textColor="#000000" />

</RelativeLayout>
2014-11-17

相关问答

更多

如果一个物体撞得太快,区域约束就会炸毁我的物理模拟(Area constraint blows up my physics simulation if a body slams into it too fast)

我看到你正在用恒定的时间步长T进行计算。当在每一步上建模碰撞时,你应该使用等于最小时间的时间步长,然后任何原子到达任何障碍物。 使时间步长变化,原子永远不会“隧道”障碍。 PS碰撞检测有很多优化,请阅读gamedev论文以获取相关信息。 PS一个bug? force = new Vector2(-(_min.X - atom.Position.X), 0); 为X和Y反射单独创建力。 当原子进入角落时会发生什么? 只会施加第二个力。 PPS:使用epsilon 另一个重要的注意事项:如果使用浮

在另一个线程中使用WPF多边形(Using a WPF Polygon in another thread)

问题不在于Dictionary ,问题是Polygon存储在Dictionary中。 这些是在UI线程中创建的WPF UI元素,因此只有UI线程可以使用它们。 您可以在UI线程中执行Render操作(使用Dispatcher.Invoke )。 这意味着渲染会阻止您的UI线程,但至少在渲染操作之间 ,UI线程将能够处理其他事情,即,如果单个渲染操作所需的时间不是太多,则UI应该保持响应长。 The problem is not the Dictionary, the problem is the

Xcode英特尔编译器icc找不到#include (Xcode Intel compiler icc cannot find #include )

你已经设置了什么作为基础SDK? 什么版本的Xcode? FWIW我刚尝试使用Xcode 3.2.3和ICC 11.1(当然是OS X 10.6) - 使用标准Xcode模板创建了一个新的C ++控制台应用程序,将#include <algorithm>添加到main.cc,从默认切换gcc 4.2到ICC,它编译并运行时没有警告或错误。 基本SDK是系统默认值(10.6)。 可能只是您安装了错误的Xcode和/或ICC,或者您可能更改了基本SDK等项目设置,这会导致问题。 What do yo

Java - 在发送到方法之前递增变量(Java - Incrementing a variable before sending to the method)

k++执行后增量 。 换句话说,表达式的值是k的原始值,然后k递增。 在调用方法之前它仍然会增加,但作为参数传递的值是增量发生之前的值。 换句话说,打电话: x = list.get(k++); 相当于: int tmp = k; k = k + 1; x = list.get(tmp); 所以,如果你真的有: memory_version = array_list_data.get(k++); // Calls with 0, then k=1 mains_voltage_min =

如何使用Ember Data查找模型?(How to find model with Ember Data?)

现在,ember数据1.0.0 beta2中的等效方法是: this.store.find('person', {age: 30}) 有关所有更改的更多信息,请点击此处 。 希望能帮助到你。 The equivalent method in ember data 1.0.0 beta2 is now: this.store.find('person', {age: 30}) More info on all the changes can be found here. Hope it hel

使用python运行Latex编译器,如果乳胶中有错误,为什么会挂起?(Using python to run Latex compiler, why does it hang if there are errors in the latex?)

当遇到错误时, pdflatex询问用户如何继续,因此您的脚本会“挂起”,因为它需要输入。 使用pdflatex -interaction=nonstopmode -halt-on-error 。 请参阅此TeX StackExchange问题 。 When it encounters errors, pdflatex asks the user about how to proceed, so your script "hangs" because it is expecting input.

在wordpress中x秒后隐藏div(Hiding a div after x seconds in wordpress)

确保正确包含jquery: http://digwp.com/2009/06/including-jquery-in-wordpress-the-right-way/ 如何向WordPress添加简单的jQuery脚本? http://www.ericmmartin.com/5-tips-for-using-jquery-with-wordpress/ 在wordpress环境中使用jQuery()而不是$() 。 或者您可以: jQuery(function($){ setTimeout(

如何使用watir获取列表标签文本(How to get list label text using watir)

尝试这个: require 'watir-webdriver' browser = Watir::Browser.new browser.goto 'http://localhost:3000' labels = browser.labels(text: /Enter Letter \d+/) password = "AelloworlZ" labels.each do |label| md = label.text.match(/\d+/) if md number =

相关文章

更多

最新问答

更多
  • 用于Json解析的Phonegap插件(Phonegap Plugin for Json parsing)
  • ActionScript 2加载另一个加载其他文件的SWF - 相对路径/网址问题(ActionScript 2 load another SWF that loads other files - relative path/url problem)
  • 使用sql将一些列值放入新列中(put some column values in a new column using sql)
  • 在iOS中为NivevehGL设置View的背景图像(Setting the background image of the View for NivevehGL in iOS)
  • 从普通的C#开发人员到普通的Java开发人员需要多长时间?(How long will take from an average C# developer to an average Java developer?)
  • 通过datetimefield SQL Server加入(Joining by datetimefield SQL Server)
  • Python中是否有任何智能打印方法?(Are there any smart print methods in Python?)
  • R中关闭另一个表[关闭](Removing one table from another in R [closed])
  • 枚举数字(Enumerating digits)
  • 我想从现有数组中获取新数组,其中key是旧数组的重复值,value是重复计数?(I want new array from existing array with key as repeated value from old array and value as repeated count?)
  • 如何在不创建实例的情况下调用类方法(How to call a class method without creating an instance)
  • wxHaskell中嵌入的图像(Embedded images in wxHaskell)
  • 蚂蚁战争任务如何运作?(How does the ant war task work?)
  • Windows Workflow 4中的人员活动支持(Human activity support in Windows Workflow 4)
  • 在Firebug的Net Panel中缺少'DomContentLoaded'和'加载'时间信息(Missing 'DomContentLoaded' and 'load' time information in Firebug's Net Panel)
  • 如何抓取页面以查看复选框/广播/文本输入并检测其原始值的更改?(How can I crawl the page for checkbox/radio/text inputs and detect changes to their original values?)
  • Document.ready不起作用(Document.ready won't work)
  • Java序列化问题(Java serialization problem)
  • Javascript:如何在页面刷新时处理令牌验证?(Javascript: How should I handle token verification on page refresh?)
  • 数据库安全:中间“to_be_deleted”列/表?(Database safety: Intermediary “to_be_deleted” column/table?)
  • 使用mayavi时如何删除scalar_cut_plane中的红框和白色箭头?(How to remove the red frame and white arrow in scalar_cut_plane when using mayavi?)
  • 如何延迟MainPage,所以它在加载数据后启动?(How to delay MainPage, so it starts after data is loaded?)
  • 按Enter键更改EditText(Press Enter to change EditText)
  • 使用libavcodec解码时可以裁剪帧大小吗?(Can the frame size be cropped during decoding using libavcodec?)
  • Performance_Python根据元组的3个元素中的2个获得2个元组列表的并集(Performance_Python get union of 2 lists of tuple according to 2 out of the 3 elements of the tuple)
  • 为什么法线会随相机旋转?(Why normals rotate with camera?)
  • 如何将Intent与ListView一起使用?(How do I use Intents with ListView?)
  • html_safe无法使用rails(html_safe not working with rails)
  • 录制没有单独的程序或库的opengl视频(record opengl video without separate program or library)
  • 滚动到特定视图(Scroll to particular view)