好的,所以在这里我有这样的xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_margin="30dp"
android:background="@drawable/backgroundblankred" >
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/eeclevelfirstblackbuton" />
</RelativeLayout>
</RelativeLayout>
就像这样显示
按钮位于布局内部,所以我想在点击时按下按钮就像这样
按钮每秒在布局内随机移动,而不是从可以强制关闭的布局中移出
第二个问题 ,如何设置随机按钮的快速移动?比如设置按钮随机移动每2秒并且增加得更快,可以设置按钮移动得更快吗?
我现在只有这个代码
public class tested extends Activity {
Button buttonblack;
int score=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.tested);
buttonblack = (Button)findViewById(R.id.black1);
buttonblack.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
//If clicked, Move the button randomly
}
});
任何人都可以提供一些代码帮助吗?在此先感谢。
答案 0 :(得分:2)
希望此视频有助于第1部分:Android App Development for Beginners - 34 - Animations and Transitions。
对于第二部分,您可以使用这样的循环:
while(true){
delay(time);//time can be taken input from any EditText.
placeButton(x,y); // x and y are random numbers
}
答案 1 :(得分:0)
在视图区域内生成随机整数 random number
1)这应该是您正在寻找的伪代码
int x = rnd(view.getX(), view.getX()+view.getWidth());
int y = rnd(view.getY(), view.getY()+view.getHeight());
view.setTranslationX(x);
view.setTranslationY(y);
2)使用一个可以修改睡眠持续时间的线程,需要在主线程上调用ui更改,使用处理程序或asynctask