SmartImageView

==

public class SmartImageView extends ImageView {
    public SmartImageView(Context context)
    {
        super(context);
    }

    public SmartImageView(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }

    public SmartImageView(Context context, AttributeSet attrs, int defStyle)
    {
        super(context, attrs, defStyle);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        try {
            Drawable drawable = getDrawable();

            if (drawable == null) {
                setMeasuredDimension(0, 0);
            }
            else {
                float imageRatio = (float)drawable.getIntrinsicWidth() / drawable.getIntrinsicHeight();
                float viewRatio = (float)MeasureSpec.getSize(widthMeasureSpec) / MeasureSpec.getSize(heightMeasureSpec);

                // Image is wider than the display (ratio)
                if (imageRatio >= viewRatio) {
                    int width = MeasureSpec.getSize(widthMeasureSpec);
                    int height = (int) (width / imageRatio);
                    setMeasuredDimension(width, height);
                }
                // Image is taller than the display (ratio)
                else {
                    int height = MeasureSpec.getSize(heightMeasureSpec);
                    int width = (int)(height * imageRatio);
                    setMeasuredDimension(width, height);
                }
            }
        } catch (Exception e) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    }
}

==

时间: 2024-10-23 04:35:15

SmartImageView的相关文章

[android] smartimageview&常见的开源代码

github上搜索开源框架android-smarty-imageview,下载压缩包,拷贝我们之前写的网络图片查看器布局. 解压下载包里面的数据,找到java源码拷贝到我们的项目里,这时我们可以看到这个包下面有个SmartyImageView.java的自定义控件,SmartImageView是继承自ImageView 当我们在布局文件中使用ImageView时,可以直接写,那是因为这个类是包含在android.jar的包里面,使用自定义的时候,一定要加上包名 获取SmartImageView

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

Android smartimageview网络图片查看器

调用代码: SmartImageView siv = (SmartImageView) findViewById(R.id.siv);siv.setImageUrl(et_path.getText().toString().trim(),R.drawable.iclaunch,R.drawable.iclaunch);//参数分别为图片URL地址,加载失败时显示的图片,加载过程中显示的图片 开源代码查找方法: 在百度搜索栏中输入:csdn github android 开源代码

开源框架SmartImageView的使用

1.SmartImageView为一个网络图片框架,可以将一个网络URL的图片展示在UI上 2.SmartImageView使用 @1Github上下载源代码 @2拷贝原码到工程src下 @3布局配置 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

SmartImageView初接触

最近一直在学习从远程服务器获取图片,开始时都是手写这些处理,后来接触到了smartImageview这个插件.github获取地址:https://github.com/loopj/android-smart-image-view 官方原版插件说明 Overview SmartImageView is a drop-in replacement for Android's standard ImageView which additionally allows images to be load

Android(java)学习笔记206:利用开源SmartImageView优化网易新闻RSS客户端

1.我们自己编写的SmartImageView会有很多漏洞,但是我们幸运的可以在网上利用开源项目的,开源项目中有很多成熟的代码,比如SmartImageView都编写的很成熟的 国内我们经常用到https://github.com/  或者 http://code.google.org/ (但是google在中国屏蔽很厉害),暂时我们可以使用http://code.taobao.org(淘宝开源项目) 2.我们登录 https://github.com/  :搜索 smart image vie

Android(java)学习笔记204:自定义SmartImageView(继承自ImageView,扩展功能为自动获取网络路径图片)

1.有时候Android系统配置的UI控件,不能满足我们的需求,Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高. 2.下面我们是自定义一个SmartImageView继承自ImageView,扩展了ImageView的功能:     步骤: • 新建一个SmartImageView类,让继承自ImageView(放置特定的包下): • 实现SmartImageView类下的构造方法,最好全部实现,这个不容易出

smartimageview使用与实现原理

一.从网络中获取图片的步骤 从网络中获取图片是一个耗时耗资源耗费用户流量的操作,故我们在第一次获取到网络中图片的时候会将其缓存到本地(内存或SD卡),以保证下次再需要这张图片时,可以从本地加载到. 二.SmartImageView的使用方法 SmartImageView是一个自定义控件,使用时用于代替ImageView,其自身包含一系列setImageUrl和setImageContact方法.下载后会发现是一个文件夹下有七个文件,将其直接拷贝到源码根目录(/src)下.具体下载和使用情况请参考

SmartImageView框架的使用

2016-01-07 项目需要,开发中需要加载图片,自己要写图片从网上下载的方法,还要写缓存,等等. 在网上找到一个开源项目,smartImageVIew,支持从URL和通讯录中获取图像,可以替代Android标准的ImageView. 特征:根据URL地址装载图像:支持装载通讯录中的图像:支持异步装载:支持缓存: 下载jar包导入项目后,在xml中加入控件 <com.loopj.android.image.SmartImageView android:id="@+id/my_image&