android , 在线性布局中移动视图

android , moving view in linearlayout

我做了一个线性布局,它包含一些图像视图。当我用 (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()?这可能需要调查:

如果您在 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);