在android中的imageview上放置textview

48 android textview android-imageview

  • 我有一个listview,有一个imageview可以垂直滚动的单个
  • 我想把它textview放在上面Imageview
  • 两个视图都必须可见

  1. 可能吗 ?
  2. 如果是,如何以编程方式进行?
  3. 我需要做出哪些改变?

list_view_item_for_images.xml

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

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

它给出了如下输出

在此输入图像描述

如何做以下的事情

在此输入图像描述

note :: Dish 1和2是textviews

Vik*_*ram 82

这应该给你所需的布局:

<?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>
Run Code Online (Sandbox Code Playgroud)

android:layout_marginTop="20dp"你一起玩,看看哪一个更适合你.使用id textview动态设置android:text值.

由于RelativeLayout堆叠其子节点,因此在ImageView将其置于ImageView之后定义TextView.

注意:使用a FrameLayout作为父级可以获得类似的结果,以及使用任何其他android容器的效率增益.感谢Igor Ganapolsky(请参阅下面的评论)指出此答案需要更新.

  • @IgorGanapolsky我的答案基于问题中给出的细节(布局).我保存了'RelativeLayout`,用于罕见的完美契合 - 除非给出的布局是实际布局的简化版本,否则它不在这里.另外,`FrameLayout`并不像它的那样没有特色.谢谢,答案已经过编辑以反映这一点. (2认同)

nit*_*esh 9

试试这个:

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

<ImageView
    android:id="@+id/ImageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src=//source of image />

<TextView
    android:id="@+id/ImageViewText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@id/ImageView"
    android:layout_alignTop="@id/ImageView"
    android:layout_alignRight="@id/ImageView"
    android:layout_alignBottom="@id/ImageView"
    android:text=//u r text here
    android:gravity="center"
    />
Run Code Online (Sandbox Code Playgroud)

希望这可以帮到你.


Ker*_*pag 7

你可以使用framelayout来实现这一目标.

如何使用framelayout

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

   <ImageView 
   android:src="@drawable/ic_launcher"
   android:scaleType="fitCenter"
   android:layout_height="250px"
   android:layout_width="250px"/>

   <TextView
   android:text="Frame Demo"
   android:textSize="30px"
   android:textStyle="bold"
   android:layout_height="fill_parent"
   android:layout_width="fill_parent"
   android:gravity="center"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

ref:tutorialspoint