android - 如何使用按钮在 Android 中缩放 ImageView ?

标签 android android-layout android-studio android-imageview android-button

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

这是我的头像

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

enter image description here

还有两个按钮 + 和 -

<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 enter image description here

当您单击加号以增加大小时。让我们说从 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));

            }
        });

关于android - 如何使用按钮在 Android 中缩放 ImageView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36426584/

相关文章:

android - 启动图像大小

android - 在 ListView 中分别设置各行的背景颜色

android - 如何在 Android 模拟器上以编程方式设置虚拟场景图像

android - Android 中的 SwiperefreshLayout

android - 谷歌地图需要很长时间才能加载

android - 如何创建一个携带数据的android Intent?

android - 协调器布局和运动布局有什么区别?

android - 错误 : Execution failed for task ':app:packageDebug'

android-studio - 插件太旧,请更新到最新版本

android - 如果我在 API 级别 21 (5.0) 上制作应用程序,它可以与更新版本的 android 一起使用吗?