Imageview随机位置

时间:2016-04-26 17:43:53

标签: java android

我希望myImageView能够在屏幕内的随机位置找到自己的位置,而无需推开文本视图。我在另一个帖子中找到了这个代码,但我无法让它工作。

 myImageView = (ImageView) findViewById(R.id.myImageView);
        LinearLayout game = (LinearLayout)findViewById(R.id.game);

        int width = game.getWidth();
        int height = game.getHeight();

        random = new Random();

        int x = width;
        int y = height;

        int imageX = random.nextInt(x-50)+50;
        int imageY = random.nextInt(y-100)+100;

        myImageView.setX(imageX);
        myImageView.setY(imageY);

2 个答案:

答案 0 :(得分:0)

您可以在特定范围之间以编程方式提供保证金,也可以使用设备宽度或高度范围。在运行时和setting margin dynamically上查看get screen dimension的此链接。

答案 1 :(得分:0)

我认为首先以编程方式获取设备大小然后设置图像视图宽度&身高

WindowManager wm = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();  // deprecated
int height = display.getHeight();  // deprecated

听到你得到宽度&高度现在设置图像视图大小

android.view.ViewGroup.LayoutParams layoutParams =myImageView.getLayoutParams();
layoutParams.width = 30;
layoutParams.height = 30;
myImageView.setLayoutParams(layoutParams);

如果你仍然有问题需要更改它的大小,请尝试将其放在LinearLayout中并使用布局参数操作imageView大小:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
myImageView.setLayoutParams(layoutParams);