如何使按钮每秒在布局中随机移动
Posted
技术标签:
【中文标题】如何使按钮每秒在布局中随机移动【英文标题】:How to make a Button randomly Move in a Layout every second 【发布时间】:2015-11-26 21:59:37 【问题描述】:好的,在这里我有这样的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_
android:layout_ >
<RelativeLayout
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_margin="30dp"
android:background="@drawable/backgroundblankred" >
<Button
android:id="@+id/button1"
android:layout_
android:layout_
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
);
任何人都可以帮助一些代码?提前致谢。
【问题讨论】:
How to make a Button randomly Move 的可能副本 techrepublic.com/blog/software-engineer/… 【参考方案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
【讨论】:
好的视频真的很有帮助,但是如果让按钮每秒随机一次,有可能吗?取自 EditText?【参考方案2】:在您的视图区域内生成随机整数 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 更改,为此使用处理程序或异步任务
【讨论】:
以上是关于如何使按钮每秒在布局中随机移动的主要内容,如果未能解决你的问题,请参考以下文章