2016-04-08 26 views
2

我想移動圖像按鈕,我在我的quadcoptor應用程序中使用,但我不能移動圖像按鈕我嘗試了很多東西,但它不動!我想移動圖像按鈕?

這是我更新的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

回答

0

它看起來像你想設置的旋鈕的是觸摸事件的位置的位置。而不是設置浮點變量

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

你應該設置你的旋鈕的變量。

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

即使如此,我不確定這是移動按鈕的最佳方式。您應該存儲按鈕的起始位置,然後存儲按鈕的開始位置,並且每次觸摸移動按鈕時,均勻移動按鈕,然後當觸摸完成時,將按鈕移回其起始位置。

+0

仍然無法移動圖像按鈕!我嘗試了許多不同的代碼,但它不動!它獲取觸摸事件,但圖像按鈕不移動! – ASAP

+0

我從來沒有使用layout_x和layout_y來定位元素,也許你可以嘗試設置X值 imknob.setX(event.getX()) 或使用翻譯操作。 –