在Android中的图片上叠加文字

时间:2016-02-03 12:51:08

标签: android textview screen-size

我想知道是否有办法在Android上的图片上叠加文字,以满足各种不同的屏幕尺寸?目前我只是将图像用作布局的背景图像,然后我只使用textview。

我遇到的问题是,当图像在具有更小或更大屏幕的另一台设备上缩放时,此文本的位置会发生变化,并且看起来会有所不同,因为文本的缩放方式与图像在其他设备上的缩放方式不同,即使我使用DP来定位文本视图,

有没有办法将这些textview锚定到屏幕上的某个点,以便在不同的屏幕尺寸上看起来大致相同?

5 个答案:

答案 0 :(得分:0)

检查一下。这个Xml适用于任何设备。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
    android:layout_height="match_parent">


    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/yourimage"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true" />
     <TextView
        android:id="@+id/advrttext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Center Text in any Device"
        android:textStyle="bold"
        android:textSize="40sp"
        android:layout_centerInParent="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="59dp" />
</RelativeLayout>

答案 1 :(得分:0)

你也可以使用相对布局并做类似的事情

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:background="@drawable/uninorsample"
        android:id="@+id/imageView12"/>

    <TextView
        android:id="@+id/example_Txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Example Text"
        android:textSize="16sp"
        android:gravity="bottom|center_horizontal"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignBottom="@+id/imageView12"
        android:layout_alignRight="@+id/imageView12"
        android:layout_alignEnd="@+id/imageView12"/>


</RelativeLayout>

答案 2 :(得分:0)

您可以在任何小部件或布局中将图像设置为背景,而不是使用适当的尺寸设置textview。您可以在相对布局中设置阴影图像并在其上设置textview使用像centerinparent这样的属性,因此它始终是父级的中心任何DP。

答案 3 :(得分:0)

试试这个: -

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:src="@drawable/clock_number"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="Hello World!" />
    </RelativeLayout>

答案 4 :(得分:0)

使用FrameLayout

.links{
    background:#FFFD00;
    float:left;
    height:50px;
    width:778px +;
    font-size:24px;
}