0

私のアプリの簡単な要約: 2 つのボタンとテキスト ビュー ウィジェットがあります。ユーザーが「開始」ボタンをクリックすると、「メイン」ボタンを画面の別の部分に移動するメソッドがトリガーされます。テキストビューは、ユーザーが「メイン」ボタンをクリックした回数を追跡します。

私の問題は、メイン ボタンがずれている場合、メイン ボタンの最初の位置を押したときにしかボタン クリックを登録できないことです。

2 つのボタンの XML

<Button
        android:id="@+id/start_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/main_button"
        android:layout_alignBottom="@+id/main_button"
        android:layout_toLeftOf="@+id/click_number"
        android:text= "@string/start_button" 
        android:onClick="startClicked"
        />

    <Button
        android:id="@+id/main_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="30dp"
        android:onClick="buttonClicked"
        android:text="@string/button_text" />

方法 主に:

  public void startClicked(View view){
      Button startButton = (Button)findViewById(R.id.start_button);
      startButton.setVisibility(View.GONE);
      move = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.move);
      findViewById(R.id.main_button).startAnimation(move);
        }

    public void buttonClicked(View view){

       TextView textView = (TextView)findViewById(R.id.click_number);
       textView.setText(" "+i);
        }

最後に移動 XML

<translate
        android:duration="800"
        android:fillAfter="true"
        android:fromXDelta="0%p"
        android:startOffset="300"
        android:toXDelta="10%p" />

</set>

さらにコードが必要かどうかをお知らせください。前もって感謝します。

4

1 に答える 1

1

これは予想されます。元のアニメーション フレームワークは、ウィジェットのタッチ ゾーンではなく、ピクセルをアニメーション化します。

プロパティ アニメーション フレームワーク( NineOldAndroids バックポートを含む) は、タッチ ゾーンを含む実際のウィジェットを動かします。

于 2013-08-31T16:32:33.573 に答える