按钮移动到屏幕的不同部分但只能在其初始位置按下它?

时间:2013-08-31 16:29:33

标签: android button onclick

我的应用程序的简短摘要:有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>

如果您需要更多代码,请告诉我。 提前致谢。

1 个答案:

答案 0 :(得分:1)

这是预期的。原始动画框架为像素设置动画,而不是窗口小部件的触摸区域。

property animation framework - 包括the NineOldAndroids backport - 移动实际的小部件,包括其触摸区。