使布局背景区域可点击

时间:2015-01-30 15:57:52

标签: android android-layout android-linearlayout clickable

我使用RelativeLayout并为我的布局设置背景,如下所示:

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

在背景图片中我设计了一些按钮的位置,现在我想点击那些区域,我该怎么办?日Thnx

3 个答案:

答案 0 :(得分:0)

我认为这是不可能的,使用ImageButton或带背景的按钮更安全。请参阅there如何使用它们

答案 1 :(得分:0)

假设您的android:background="@drawable/back"是您所说的背景图片,您可以使用attributes of RelativeLayout(如layout_alignLeft,layout_toRightOf / layout_toLeftOf等)相对于其他对象定位Button个对象在布局中。显然,您将根据您的需要调整保证金和头寸。

更新:根据您提供的图片,这是一个工作示例,说明如何让按钮准确排列在图像中您想要的位置。请注意,RelativeLayout属性(Button1)的间距和使用位于133dp的顶部,而30dp位于左侧。然后设置Button2 toRightOf }} Button1但是从52dp推送Button1等等。

<?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"
    android:background="@drawable/your_background_image">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/Button1"
        android:text="Button1"
        android:layout_marginTop="133dp"
        android:layout_marginLeft="30dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/Button2"
        android:text="Button2"
        android:layout_toRightOf="@+id/Button1"
        android:layout_marginTop="133dp"
        android:layout_marginLeft="52dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/Button3"
        android:text="Button3"
        android:layout_toRightOf="@+id/Button2"
        android:layout_marginTop="133dp"
        android:layout_marginLeft="52dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button4"
        android:id="@+id/Button4"
        android:layout_marginTop="223dp"
        android:layout_marginLeft="30dp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button5"
        android:id="@+id/Button5"
        android:layout_marginTop="223dp"
        android:layout_marginLeft="52dp"
        android:layout_toRightOf="@+id/Button4"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button6"
        android:id="@+id/Button6"
        android:layout_marginTop="223dp"
        android:layout_marginLeft="52dp"
        android:layout_toRightOf="@+id/Button5"/>


</RelativeLayout>

根据您在此处提供的背景图片,是上述布局的结果:

Based on the background image that you supplied here are the results of the above layout

答案 2 :(得分:-1)

我认为你不能只使用背景可点击的一部分...你必须在RelativeLayout中制作一个ImageView并使其可点击,或者制作整个布局& #39;可点击&#39;