Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 绝对布局中的ImageView,如何设置ImageView的x、y坐标?_Java_Android_Android Imageview_Absolutelayout - Fatal编程技术网

Java 绝对布局中的ImageView,如何设置ImageView的x、y坐标?

Java 绝对布局中的ImageView,如何设置ImageView的x、y坐标?,java,android,android-imageview,absolutelayout,Java,Android,Android Imageview,Absolutelayout,我想做的是创建一个普尔曼版本的gps地图。我已经设置了一个“地图”图片作为绝对布局的背景,然后创建了一个小的20x20正方形图片,我需要移动到不同的坐标。如何在Java代码中实现这一点 <AbsoluteLayout android:id="@+id/llMapContainer" android:layout_width="match_parent" android:layout_height="390dp" android:layout_x="0dp"

我想做的是创建一个普尔曼版本的gps地图。我已经设置了一个“地图”图片作为绝对布局的背景,然后创建了一个小的20x20正方形图片,我需要移动到不同的坐标。如何在Java代码中实现这一点

 <AbsoluteLayout
    android:id="@+id/llMapContainer"
    android:layout_width="match_parent"
    android:layout_height="390dp"
    android:layout_x="0dp"
    android:layout_y="44dp"
    android:background="@drawable/a4000vert"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imgLocation"
        android:layout_width="20px"
        android:layout_height="20px"
        android:layout_x="312px"
        android:layout_y="300px"
        android:src="@drawable/location" />
</AbsoluteLayout>

我的Java文件中有此设置: iv=(ImageView)findViewById(R.id.imgLocation)


但现在我似乎找不到任何方法可以让我设置x和y坐标。

AbsoluteLayout
被贬低,它的使用受到强烈反对。您应该切换到使用其他形式的
ViewGroup
,例如
RelativeLayout

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,200); // The desired size of the child
params.setMargins(50,50); // Position at 50,50
mRelativeLayout.addView( mViewToAdd, params);     
使用
RelativeLayout
后,可以使用
RelativeLayout.LayoutParams
类在将子对象添加到父对象
RelativeLayout
时指定子对象的大小和位置(以及各种其他参数)

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,200); // The desired size of the child
params.setMargins(50,50); // Position at 50,50
mRelativeLayout.addView( mViewToAdd, params);     

AbsoluteLayout
被贬低,强烈反对使用。您应该切换到使用其他形式的
ViewGroup
,例如
RelativeLayout

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,200); // The desired size of the child
params.setMargins(50,50); // Position at 50,50
mRelativeLayout.addView( mViewToAdd, params);     
使用
RelativeLayout
后,可以使用
RelativeLayout.LayoutParams
类在将子对象添加到父对象
RelativeLayout
时指定子对象的大小和位置(以及各种其他参数)

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,200); // The desired size of the child
params.setMargins(50,50); // Position at 50,50
mRelativeLayout.addView( mViewToAdd, params);     

以下是如何在
绝对布局
中设置
图像视图的x和y坐标:

private void setLocation(int x, int y) {
    final ImageView iv = (ImageView) findViewById(R.id.imgLocation);
    final AbsoluteLayout.LayoutParams lp = (AbsoluteLayout.LayoutParams) iv.getLayoutParams();
    lp.x = x;
    lp.y = y;
    iv.setLayoutParams(lp);
}

我同意Trevor的观点,如果可能的话,您可能希望避免使用
AbsoluteLayout
,因为它已被弃用。

以下是如何在
AbsoluteLayout
内设置
图像视图的x和y坐标:

private void setLocation(int x, int y) {
    final ImageView iv = (ImageView) findViewById(R.id.imgLocation);
    final AbsoluteLayout.LayoutParams lp = (AbsoluteLayout.LayoutParams) iv.getLayoutParams();
    lp.x = x;
    lp.y = y;
    iv.setLayoutParams(lp);
}
我同意Trevor的观点,但是如果可能的话,您可能希望避免使用
AbsoluteLayout
,因为它已经被弃用了