Android如何将按钮放在背景图像上的正确位置以支持所有屏幕尺寸

时间:2014-09-15 12:35:17

标签: android

我在相对布局中的背景图像上方有一个按钮。图像本身包含“注册”按钮形状的图像,所以现在我已经在文本“注册”所在的部分放置了一个android按钮。但我的android按钮根据屏幕大小进入不同的位置。请建议我如何将android按钮放在

的所需部分

3 个答案:

答案 0 :(得分:0)

将该按钮放在相对布局下的新相对布局中。并添加

android:layout_centerHorizontal="true"

属性为新的相对布局。所以现在按钮始终位于中心位置。

编辑:

使用此:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/home1"
 >


<Button
    android:id="@+id/button1"
     android:layout_width="195dp" 
     android:layout_height="95dp" 
     android:layout_marginBottom="194dp" 
     android:layout_centerHorizontal="true"
     android:text="button_play" />


 </RelativeLayout>

答案 1 :(得分:0)

你的意思是说图像本身包含文本“注册”吗?

在Android中,没有简单的方法可以做到这一点。

问题是Android有不同的屏幕尺寸和屏幕密度。因此,您的图像本身将开始看起来模糊,图像中的文本可能会像素化,使其在某些设备上看起来很难看。

那么正确的方法是什么呢?使用简单的背景,并使用ImageButtonTextView或只有Button的正确背景放置您的按钮和文字。

答案 2 :(得分:0)

开发Android并不是像素一样完美,因为它可以用于iOS,所以这种任务有点棘手。你基本上不应该有一个按钮(在这种情况下是文本)与另一个按钮(按钮的容器)分开。

但如果你没有选择,我建议你:

  1. 打开一些照片编辑器,在背景图像上获取“注册”文本的实际位置。您将获得左下角,左上角,右上角,右下角的四个X,Y位置。

  2. 获取背景的高度和宽度(如果背景覆盖所有空间,则为JUST高度和设备宽度 - match_parent)。

  3. 然后您必须测量比率,这样您才能知道这些点在显示屏上的位置。

  4. 在“注册”文本位置添加一个按钮。

  5. EDITED

    1. 实际上,您只需在背景图片中添加点击监听器并拦截用户的点击,而不是添加按钮。如果点击位于边界内(我们的XY点的矩形形状),则重新指导用户/做某事。
    2. 听起来很多工作但是在我想到这一点时,这是绝对确定你会在你想要的确切位置有一个按钮的唯一方法。

      祝你好运!