【问题标题】:I want to move image button?我想移动图像按钮?
【发布时间】:2016-04-08 17:45:47
【问题描述】:

我想移动我在四轴飞行器应用程序中使用的图像按钮,但我无法移动图像按钮我尝试了很多方法但它没有移动!

这是我更新的 java 代码 它可以在特定圆周上移动图像按钮,但是当我触摸按钮并将其从中心拖动时,按钮会变得不稳定并闪烁!!

 x = event.getX();
                    y = event.getY();

                float dX = x - idx;
                float dY = y - idy;
                double angleInDegrees = Math.atan(dY / dX) * 360 / 3.14;

                idx = x;
                idy = y;

                imknob.setTranslationX((float)(200*(Math.cos(angleInDegrees))));
                imknob.setTranslationY((float)(200*(Math.sin(angleInDegrees))));

我不知道我哪里错了!!帮助某人做对!

这是 XML 代码

 <?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout android:screenOrientation="landscape" android:id="@id/rootie" android:layout_width="wrap_content" android:layout_height="wrap_content"
  xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#000000">
    <ImageButton android:id="@+id/home" android:background="#FF000000" android:visibility="visible" android:clickable="false" android:layout_width="730dp" android:layout_height="473dp" android:src="@drawable/background" android:layout_centerInParent="true"
        android:layout_x="-13dp"
        android:layout_y="-70dp" />
    <ImageView android:id="@id/g_on" android:background="#00000000" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/g_on" android:layout_x="504dp" android:layout_y="45dp" />
    <ImageView android:id="@id/g_off" android:background="#00000000" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/g_off" android:layout_x="507dp" android:layout_y="45dp" />

  <ImageButton android:id="@id/stk2" android:background="#00000000" android:visibility="visible" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/stk2" android:layout_x="422dp" android:layout_y="126dp" />
    <ImageButton android:id="@id/stk1_" android:background="#00000000" android:visibility="visible" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/stk1" android:layout_x="163dp" android:layout_y="52dp" />

  <ImageButton android:id="@+id/stk3" android:background="#00000000" android:visibility="invisible" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/stk2" android:layout_x="422dp" android:layout_y="123dp" />

  <ImageView android:id="@id/pwroff" android:background="#00000000" android:visibility="visible" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/signal_" android:layout_x="281dp" android:layout_y="219dp" android:soundEffectsEnabled="false" />
    <ImageView android:id="@id/pwron" android:background="#00000000" android:visibility="invisible" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/signal" android:layout_x="261dp" android:layout_y="187dp" android:soundEffectsEnabled="false" />

  <ImageButton android:id="@+id/back" android:background="#00000000" android:visibility="visible" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/back" android:layout_x="122dp" android:layout_y="11dp" />
    <ImageButton android:id="@id/stk1" android:background="#00000000" android:visibility="visible" android:clickable="false" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/stk1" android:layout_x="165dp" android:layout_y="242dp" />
</AbsoluteLayout>

This is the UI of my quadcoptor app I want to move the red dot knob which acts as a controller

【问题讨论】:

    标签: java android xml image


    【解决方案1】:

    您似乎正在尝试将旋钮的位置设置为触摸事件的位置。而不是设置浮动变量

    x = event.getX();
    y = event.getY(); 
    

    您应该设置旋钮的变量。

    imknob.layout_x = event.getX();
    imknob.layout_y = event.getY();
    

    即使如此,我也不确定这是移动按钮的最佳方式。您可能应该存储按钮的开始位置,然后存储按下的开始位置,并且随着触摸的每次移动平均移动按钮,然后当触摸完成时,将按钮移回其开始位置。

    【讨论】:

    • 还是不能移动图片按钮!!我尝试了许多不同的代码,但它不动!它获得了触摸事件,但图像按钮没有移动!
    • 我从未使用过 layout_x 和 layout_y 来定位元素,也许你可以尝试设置 X 值 imknob.setX(event.getX()) 或使用平移操作。
    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多