如何使用按钮缩放 Android 中的图像视图?

how to scale a imageview in Android with a button?

我正在构建这个应用程序,我希望它可以缩放图像视图中心。

这是我的头像

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:src="@mipmap/lamp" />

和两个按钮 + 和 -

<Button
    android:id="@+id/plusBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="+"
    android:layout_alignTop="@+id/minusBtn"
    android:layout_alignEnd="@+id/cameraImageButton2" />

<Button
    android:id="@+id/minusBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="-"
    android:layout_above="@+id/videoOnlineImageButton"
    android:layout_alignStart="@+id/videoOnlineImageButton" />

我想当你点击减去图像时缩小。假设它是 100x100 它可能变成 90x90

当您单击加号以增加大小时。让我们说从 100x100 到 110x110

等等……

我需要图像缩放并保持在屏幕中央。所以它应该以某种方式从其默认大小向上或向下缩放。


感谢 Alpha mori,这对我有用!

plusbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
    float x = imagview.getScaleX();
    float y = imagview.getScaleY();

    imagview.setScaleX((float) (x + 5));
    imagview.setScaleY((float) (y + 5));

            }
        });


  minusbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
    float x = imagview.getScaleX();
    float y = imagview.getScaleY();

    imagview.setScaleX((float) (x - 5));
    imagview.setScaleY((float) (y - 5));

            }
        });
plusbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
    float x = imagview.getScaleX();
    float y = imagview.getScaleY();

    imagview.setScaleX((float) (x + 5));
    imagview.setScaleY((float) (y + 5));

            }
        });


  minusbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
    float x = imagview.getScaleX();
    float y = imagview.getScaleY();

    imagview.setScaleX((float) (x - 5));
    imagview.setScaleY((float) (y - 5));

            }
        });