╔══════════════════════════════════════════════╗   ^
║ ImageView    ╔══════════════╗                ║   |
║              ║              ║                ║   |
║              ║ Actual image ║                ║   |
║              ║              ║                ║   |60px height of ImageView
║              ║              ║                ║   |
║              ║              ║                ║   |
║              ╚══════════════╝                ║   |
╚══════════════════════════════════════════════╝   
<------------------------------------------------>
                   90px width of ImageView

我有一个默认高度和宽度的图像视图,图像存储在db中,我想根据Imageview高度和宽度zoom 图像.因为我不希望它给出默认值,因为当我改变它的高度和宽度时,我也必须在代码中改变它.

我试图获取ImageView的高度和宽度,但两种情况都返回0.

int height = ((ImageView) v.findViewById(R.id.img_ItemView)).getHeight();

即使它有默认的高度和宽度,也会返回0

推荐答案

我对this question的回答可能会对你有所帮助:

int finalHeight, finalWidth;
final ImageView iv = (ImageView)findViewById(R.id.scaled_image);
final TextView tv = (TextView)findViewById(R.id.size_label);
ViewTreeObserver vto = iv.getViewTreeObserver();
vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
    public boolean onPreDraw() {
        iv.getViewTreeObserver().removeOnPreDrawListener(this);
        finalHeight = iv.getMeasuredHeight();
        finalWidth = iv.getMeasuredWidth();
        tv.setText("Height: " + finalHeight + " Width: " + finalWidth);
        return true;
    }
});

然后可以从onPreDraw()方法中添加图像zoom 工作.

Android相关问答推荐

JetPack第一次编写时Backbox不起作用

更新Jetpack Compose打破了动态色彩

长流与长流的比较<>

关于BLE扫描工作原理的说明

将Android Studio插件复制到离线网络

Android开发:主题排版不适用于按钮文本

无法在Android中创建通知频道

Android事件:APP_SCOUT_HANG警告SQLite

更改Jetpack Compose中选定的选项卡底线 colored颜色

BroadCastReceiver的onReceive方法中的Intent上的Extras为空

Android Jetpack Compose调用view-model函数仅一次

Android studio应用判断无法打开离线数据库

Jetpack Compose X.dp 性能问题?

如何在 Android Studio 中为带有 Room 的 SQLite 编写需要参数的查询?

在 Kotlin 客户端应用程序中发送 FCM 推送通知 - Firebase 云消息传递

在 android list 中添加 IsMonitoringTool 元数据标志的位置

为什么我不能在屏幕外拿任何物体

compose FontFamily 错误:必须初始化变量

Android:在模块 jetified-play-services-measurement 和 jetified-play-services-measurement-impl 中发现重复类

如何使伴奏导航 BottomSheet 完全展开?