如何在Android中更改ImageButton的位置

时间:2015-10-17 05:19:39

标签: android position

如何在单击时更改ImageButton的位置。

enter image description here

此处有6个ImageButton:ibWolf1, ibWolf2, ibWolf3, ibSheep1, ibSheep2, ibSheep3; 1个ImageView ivWood和1个按钮btnGoAndBack。当我点击ibSheep3时,ibSheep3会改变这样的位置:

enter image description here

当我继续点击ibWolf3时,它会改变这样的位置:

enter image description here

这意味着图像将出现在木图像上方。那怎么做呢?

这是我的game_play_layout.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">

    <Button
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:text="Go"
        android:textSize="30dp"
        android:background="#3300FF00"
        android:id="@+id/btnGoAndBack"
        android:layout_below="@+id/ivWood"
        android:layout_toLeftOf="@+id/ibSheep2"
        android:layout_toStartOf="@+id/ibSheep2" />

        <ImageButton
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/wolf"
            android:scaleType="centerCrop"
            android:id="@+id/ibWolf1"
            android:layout_above="@+id/ibSheep2"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />

        <ImageButton
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/wolf"
            android:scaleType="centerCrop"
            android:id="@+id/ibWolf2"
            android:layout_below="@+id/ibWolf1"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />

        <ImageButton
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/wolf"
            android:scaleType="centerCrop"
            android:id="@+id/ibWolf3"
            android:layout_below="@+id/ibWolf2"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />

        <ImageButton
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/sheep"
            android:scaleType="centerCrop"
            android:id="@+id/ibSheep1"
            android:layout_above="@+id/ibWolf2"
            android:layout_toLeftOf="@+id/ibWolf1"
            android:layout_toStartOf="@+id/ibWolf1" />

        <ImageButton
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/sheep"
            android:scaleType="centerCrop"
            android:id="@+id/ibSheep2"
            android:layout_centerVertical="true"
            android:layout_toLeftOf="@+id/ibWolf2"
            android:layout_toStartOf="@+id/ibWolf2" />

        <ImageButton
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/sheep"
            android:scaleType="centerCrop"
            android:id="@+id/ibSheep3"
            android:layout_below="@+id/ibSheep2"
            android:layout_toLeftOf="@+id/ibWolf3"
            android:layout_toStartOf="@+id/ibWolf3" />

    <ImageView
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:src="@drawable/wood"
        android:scaleType="centerCrop"
        android:id="@+id/ivWood"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/ibSheep2"
        android:layout_toStartOf="@+id/ibSheep2"/>


</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是,将两张羊和狼的图像放在上方按钮上,首先使能见度不可见或消失。现在,当用户点击绵羊或狼图像时,图像按钮的可见性消失并使图像可见上方的图像转到按钮。

否则你必须计算go按钮的位置并按步骤创建一个图像按钮并将其放在那里。

希望它能清除你的观点。