gpt4 book ai didi

android - 按时间间隔更改 margin 值

转载 作者:行者123 更新时间:2023-11-30 03:19:32 25 4
gpt4 key购买 nike

下面是我编写的代码 fragment 。我在背景中有一个大的可滚动图像,在前景中有一个较小的图像。静态布局对我来说工作正常。我想要做的是,在间隔 5 秒后,通过更改 topMargin 和 leftMargin 为前景图像随机化一个新位置。我知道可以使用伪随机数生成器来更改值。但是,我不确定如何声明我希望更改“params.topMargin”和“params.leftMargin”值,或者如何在计时器上实现这一点。

            mImage = (ImageView)findViewById(R.id.Image1);

RelativeLayout.LayoutParams params = new
LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.topMargin = 1200;
params.leftMargin = 45;

mImage.setLayoutParams(params);

出于限制原因,我知道可以预先定义随机数生成器的取值范围,我也需要这样做。

如果有人能帮我指出正确的方向,那就太好了:D

编辑:我相当确定我需要将计时器、 Intent 和 getRandom() 相互结合使用。我只是不太确定如何将它们正确地组合在一起。

最佳答案

在你的 onCreate 方法上试试这个:

final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {

mImage = (ImageView)YourActivity.this.findViewById(R.id.Image1);

RelativeLayout.LayoutParams params = new
LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.topMargin = (int)(Math.random()*500 + 1); //500 is the max margin, you can change it
params.leftMargin = (int)(Math.random()*500 + 1); //500 is the max margin, you can change it

mImage.setLayoutParams(params);

handler.postDelayed(this, 1000); //1000 is the interval in milliseconds
}
};
r.run();

关于android - 按时间间隔更改 margin 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com