我做了一个线性布局,它包含一些图像视图。 当我使用(set X(view.get x + 10))
功能移动一个时,它会移动...但它落后于其他观点。视图变得隐藏。
另一个问题是,当我得到视图的X和Y时,它总是0,0。 但是视图在屏幕中间。 我该怎么办???我应该放弃线性布局吗?
if(wichmov == "right" ){
if(martin.getX() < width){
martin.setX(martin.getX()+ deltax);
}
else if(wichmov == "left"){
if(martin.getX() > 0){
martin.setX(martin.getX()- deltax );
}
}
}
这就是我移动它的方式。
你什么时候尝试调用getX((? 这可能是需要研究的内容:查看 getX(( 和 getY(( 在将它们添加到活动后返回 0.0
如果您在 onCreate 中进行调用,它将为零。
我刚刚想通了。
我使用相对布局,然后将线性布局设置为匹配父级。使用线性布局设计背景后,我定义线性布局之后和相对布局内部的图像视图,然后在 Java 中,我将其位置设置在我想要的确切位置(我希望它移动的线性布局的特殊框的前面(,以及它的宽度和高度。
以下代码将帮助您将视图放置在所需的屏幕确切位置,并设置其宽度和高度:
DisplayMetrics metrics = this.getResources().getDisplayMetrics(); //getting screen size
width = metrics.widthPixels;
height = metrics.heightPixels;
view.setX(width *5/8); //setting the place
view.setY(height/4);
LayoutParams para = view.getLayoutParams(); //set size of view
para.height = (int) (height/2);
para.width = (int) (width/4);
view.setLayoutParams(para);