我想知道是否有办法在Android上的图片上叠加文字,以满足各种不同的屏幕尺寸?目前我只是将图像用作布局的背景图像,然后我只使用textview。
我遇到的问题是,当图像在具有更小或更大屏幕的另一台设备上缩放时,此文本的位置会发生变化,并且看起来会有所不同,因为文本的缩放方式与图像在其他设备上的缩放方式不同,即使我使用DP来定位文本视图,
有没有办法将这些textview锚定到屏幕上的某个点,以便在不同的屏幕尺寸上看起来大致相同?
答案 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;
}