图像有四个可点击区域

时间:2016-06-30 01:36:42

标签: android android-button

enter image description here

这是我想要做的。我正在创建一个拖放控制器。用户可以在屏幕上移动控件以保存它们。我做了其他一切,除了这个。我已经想到了一些不同的想法来实现这一点,但是大多数想法都没有使用拖放功能。

我创建了一个XML文件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:text=""
        android:id="@+id/dpad_up"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:visibility="invisible"/>

    <Button
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:text=""
        android:id="@+id/dpad_down"
        android:layout_below="@+id/dpad_up"
        android:layout_centerHorizontal="true"
        android:visibility="invisible"/>

    <Button
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:text=""
        android:id="@+id/dpad_left"
        android:layout_alignTop="@+id/dpad_right"
        android:layout_toStartOf="@+id/dpad_up"
        android:visibility="invisible"/>

    <Button
        android:layout_width="50dp"
        android:layout_height="40dp"
        android:text=""
        android:id="@+id/dpad_right"
        android:layout_alignParentTop="true"
        android:layout_toEndOf="@+id/dpad_up"
        android:layout_marginTop="22dp"
        android:visibility="invisible"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/d_pad"
        android:background="@drawable/d_pad"
        android:layout_alignParentTop="true"
        android:layout_alignBottom="@+id/dpad_down"
        android:layout_alignStart="@+id/dpad_left"
        android:layout_alignEnd="@+id/dpad_right" />
</RelativeLayout>

我正在考虑将XML用于我的活动并进行拖放,但我不确定如何做到这一点。任何想法或帮助都会很棒。我只需要能够执行拖放操作并按下每个方向按钮进行注册以执行操作。

1 个答案:

答案 0 :(得分:0)

隐形观点无法触及。

只需将Button更改为ViewSpace,然后将其显示即可。