2016-04-08 11 views
2

私は自分のクワッドコップアプリで使っている画像ボタンを移動したいが、画像ボタンを動かすことはできない。画像ボタンを移動したいですか?

これは私の更新された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()) または翻訳操作を使用しています。 –

関連する問題