LayoutParams移动x和y

时间:2010-11-21 06:19:29

标签: android-layout

我正在尝试使用此应用程序将图像移动到某些x和y。我已经通过搜索尝试使用layoutParams但是它在这里不起作用是我的完整应用程序代码。

main.xml中

<?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:screenOrientation="portrait">

    <ImageView android:id="@+id/ImageView01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:scaleType="fitXY" android:src="@drawable/myImage1" android:layout_marginTop="5dp"></ImageView>
    <FrameLayout android:id="@+id/FrameLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/marker" android:src="@drawable/marker"></ImageView>
    </FrameLayout>
</LinearLayout>

myapp Java

ImageView marker;

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        marker=(ImageView)findViewById(R.id.marker);
        FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);
        lp.setMargins(35, 90, 0, 0);
        marker.setLayoutParams(lp);
        marker.invalidate();

       }
}

我的最终目标是将标记图像移动到不同位置的myImage1

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取手机的尺寸:

    DisplayMetrics metrics = new DisplayMetrics();
    ((Activity)c).getWindowManager().getDefaultDisplay().getMetrics(metrics);
    screenWidth = ((int)metrics.xdpi);
    screenHeight = ((int)metrics.ydpi);

您可以使用setPadding,手机的宽度和高度可以通过上面的代码获得。我也有定位问题,这就是解决方案。