点击时总体要变大,外面还有个边框B:
  
  
   于是我选RelativeLayout做为上面A和B的布局,大小不一样都是固定宽高,里面的图片也是固定宽高,A和B都居中于其父布局,父布局也是个RelativeLayout,点击就切换AB两个visible,问题来了,当我切换到B可见时,里面的ImageView被撑大了,超出了蓝色边框,打印出来的信息也显示其宽高被改大了,但是切换到A时又是正常的,百思不得其解。
  
  
   后面我发现,在xml布局中不要指定ImageView的src,利用Glide设置placeholder和error就没问题了。
  
  
   然而,当我以为解决了的时候,另一个地方由于加载的图片是宽高比例较大的矩形,仍然出现这个问题,后来经过不断修改发现,不要指定layout_width和layout_height固定值,通过match_parent和margin来间接设置它的大小就没问题了:
  
  
   虽然问题解决了,但是还是很困扰,有知道原因的帮忙解答下。
  
  有一个布局,是这样的A:点击时总体要变大,外面还有个边框B:于是我选RelativeLayout做为上面A和B的布局,大小不一样都是固定宽高,里面的图片也是固定宽高,A和B都居中于其父布局,父布局也是个RelativeLayout,点击就切换AB两个visible,问题来了,当我切换到B可见时,里面的ImageView被撑大了,超出了蓝色边框,打印出来的信息也显示其宽高被改大了,但...
在UITableView中自定义了一个UITableViewCell,里面有一个Label和
  
   ImageView
  
  ,问题是在点击这个Table的这一条时,
  
   imageview
  
  的
  
   大小
  
  
   改变
  
  了。
设置
  
   imageview
  
  的背景为红色,发现不是图片的
  
   大小
  
  
   改变
  
  ,而是整个UI
  
   imageview
  
  的
  
   大小
  
  
   改变
  
  了。
找了很多问题,终于发现自定义的UITableViewCell变量名命名出了问题,我把这
  
   有时候
   
    ImageView
   
   宽度是match_parent ,但是有些手机上却没铺满父布局。
这是因为
   
    ImageView
   
   的ScaleType 属性造成的,如果没设置这个属性的话 默认是ScaleType.FIT_CENTER ,表示图片等比例放大填充满高度或者宽度,所以如果
   
    ImageView
   
   的宽高比不是图片的宽高比,会导致宽度或者高度不够;
如果你想铺满父布局,就设置ScaleType 属性是Sca...
  
  
   图片缩放是移动应用常见的一个功能,今天我们来讲基于Viewpager+Zoom
   
    ImageView
   
   实现的类似相册的图片放大器,支持双击缩放,双指触摸缩放,单击图片关闭退出当前Activity。
老规矩先上效果图,图一是未缩放时的图片,图二是切换和缩放后的图片效果
先来说说Zoom
   
    ImageView
   
   的实现思路,继承
   
    ImageView
   
   ,主要通过捕获用户多指触控时的比例,计算出缩放的
   
    大小
   
   (这个根据个人喜好,可以自行调整的,若需要请动手设置,也增强大家的代码能力),然后获取图片的矩阵视图Matrix进行缩放。
之前写过一篇有关Glide的使用的文章:
   
    Android
   
   Glide图片加载框架使用过程中遇到的问题总结 ,这篇文章主要针对的是Glide 3.0使用过程中遇到的问题,最近一直在使用Glide 4.0做图片的加载,在最近的项目开发过程中,涉及到了宽度固定,高度自适应的情况(应用场景:流式布局、活动弹窗图等),当时的处理方式是在布局文件中添加如下代码:
<
   
    ImageView
   
   
    本来再xml里面定义也可以实现这种方式,不过我还是比较喜欢用代码的方式去实现public class M
    
     ImageView
    
    extends
    
     ImageView
    
    {
    public M
    
     ImageView
    
    (Context context) {
        super(context);
    public M
    
     ImageView
    
    (Context context, Attrib
   
   
    imageView
   
   .getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
   
    imageView
   
   .getViewTreeObserver().removeOnGlobalLayoutListener(this);
        int width =
   
    imageView
   
   .getWidth();
        int height =
   
    imageView
   
   .getHeight();
        Bitmap bitmap = ((BitmapDrawable)
   
    imageView
   
   .getDrawable()).getBitmap();
        int bitmapWidth = bitmap.getWidth();
        int bitmapHeight = bitmap.getHeight();
        float scaleX = (float) width / bitmapWidth;
        float scaleY = (float) height / bitmapHeight;
        float scale = Math.min(scaleX, scaleY);
        int scaledWidth = (int) (bitmapWidth * scale);
        int scaledHeight = (int) (bitmapHeight * scale);
        // scaledWidth 和 scaledHeight 就是缩放后的
   
    大小