安卓中如何在图片上添加文字?

3

我正在尝试将一个TextView放置在ImageView上,位于RelativeLayout的底部中心。 我可以将TextView放置在中心位置,但无法将其放置在底部。 有人能指导我吗? 这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"      
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/eventimage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY"
        android:background="#000000">
   </ImageView>

    <TextView
            android:id="@+id/text98"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_centerVertical="true"            
            android:singleLine="true"
            android:textColor="@color/white"        
            android:text="LAST"
            android:textStyle="bold"
            android:textSize="18sp"/>
</RelativeLayout> 

请为TextView添加以下内容:android:layout_alignBottom="@+id/eventimage" - Raghunandan
9个回答

2
在textView上使用以下属性android:layout_centerHorizontal="true"代替android:layout_centerVertical="true",并添加android:alignParentBottom=true"。另外,请查看相对布局选项以了解如何使用它。

谢谢。如何在所有屏幕上独立使用android:layout_marginBottom? - Vidya
如果你说独立于所有屏幕,意思是你可以使用 dp 单位来指代屏幕密度。 - bogdan
我想在所有屏幕尺寸上将textView放置在底部的20%。我该如何实现?我不能只给一个数字。 - Vidya

1
尝试
<TextView
        android:layout_alignParentBottom="true"
...

1
您可以尝试使用类似以下的内容:

您可以尝试使用类似以下的内容:

android:layout_alignBaseline (@id/eventimage);

并在稍后底部添加一些填充。

1
尝试以下内容:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back"
    android:layout_width="match_parent"
    android:layout_height="match_parent"      
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/eventimage"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitXY"
        android:background="#000000">
   </ImageView>

    <TextView
            android:id="@+id/text98"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"          
            android:singleLine="true"
            android:textColor="@color/white"        
            android:text="LAST"
            android:textStyle="bold"
            android:textSize="18sp"/>
</RelativeLayout> 

1
你可以使用这个。
  <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/back"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"      
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/eventimage"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            android:background="#000000">
       </ImageView>

        <TextView
                android:id="@+id/text98"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:gravity="center_horizontal"            
                android:singleLine="true"
                android:textColor="@color/white"        
                android:text="LAST"
                android:layout_alignParentBottom="true"
                android:textStyle="bold"
                android:textSize="18sp"/>
    </RelativeLayout>

1
将以下内容添加到您的TextView中:

android:layout_alignBottom="@id/eventimage"

1

Use this code:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"      
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/eventimage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY"
        android:background="#000000">
   </ImageView>

    <TextView
        android:id="@+id/text98"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_alignParentBottom="true"
        android:alignBottom="@+id/eventimage"            
        android:singleLine="true"
        android:textColor="@color/white"        
        android:text="LAST"
        android:textStyle="bold"
        android:textSize="18sp"/>
</RelativeLayout>

希望它能对你有所帮助。

1
这个布局根据你的要求工作。通过设置线性布局的底部对齐,其子视图会自动对齐到中心底部位置。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/back"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
      android:background="@drawable/ic_launcher" 
      android:gravity="bottom">


    <TextView
        android:id="@+id/text98"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:singleLine="true"
        android:text="LAST"
        android:textSize="18sp"
        android:textStyle="bold" 
        android:textColor="@android:color/white"/
       >

</LinearLayout>

1
使用 android:layout_alignParentBottom 将控件移动到屏幕底部。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接