如何在绝对布局中通过编程方式移动按钮

3

我在Eclipse中使用ADT插件创建了一个测试应用程序。当点击按钮时,我希望它在屏幕上随机移动位置。我在互联网上找到了一些示例,但都无法正常工作。

Button noBtn = (Button) findViewById(R.id.NoBtn);
noBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
    Button noBtn = (Button) findViewById(R.id.NoBtn);
    AbsoluteLayout.LayoutParams OBJ=new
    AbsoluteLayout.LayoutParams(35,35,408,160);
    noBtn.setLayoutParams(OBJ);
}
});

我遇到了应用程序错误。


我在xml中使用了RelativeLayout。所以我将其更改为RelativeLayout.LayoutParams OBJ=newRelativeLayout.LayoutParams(50, 80); OBJ.topMargin = randomHeight; int a = ApplicationUtils.getScreenHeight( getWindowManager()); int aa = ApplicationUtils.getScreenWidth( getWindowManager()); OBJ.leftMargin = randomWidth; noBtn.setLayoutParams(OBJ); - ddarellis
1个回答

4
通过在Android中使用LayoutParam,您可以通过Java代码指定小部件的位置,而不是在XML文件中指定它。
AbsoluteLayout.LayoutParams OBJ = new AbsoluteLayout.LayoutParams(35,35,408,160);
button.setLayoutParams(OBJ);

这里-
AbsoluteLayout.LayoutParams(width,height,X-position,Y-position) 

这是我指定的范围(35,35,408,160)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接