• 转载 android之ImageView


    ImageView

    首先确定下ImageView的全路径:android.widget.ImageView.

    描述: 

    显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

    android:adjustViewBounds
     是否保持宽高比。需要与maxWidth、MaxHeight一起使用,否则单独使用没有效果。
     
    android:cropToPadding
     是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用,效果如下,实现代码见代码部分:


    android:maxHeight
     设置View的最大高度,单独使用无效,需要与setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:

    1) 设置setAdjustViewBounds为true;

    2) 设置maxWidth、MaxHeight;

    3) 设置设置layout_width和layout_height为wrap_content。
     
    android:maxWidth
     设置View的最大宽度。同上。
     
    android:scaleType
     设置图片的填充方式。

    android:src
     设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)
     
    android:tint
     将图片渲染成指定的颜色。

    代码示例:

    点击图片时切换图片并且将另一个图片变暗(主要是对图片透明度的利用)

    1. package cn.com.chenzheng_java;  
    2.   
    3. import android.app.Activity;  
    4. import android.content.res.Resources;  
    5. import android.graphics.drawable.Drawable;  
    6. import android.os.Bundle;  
    7. import android.view.View;  
    8. import android.widget.Button;  
    9. import android.widget.ImageView;  
    10. import android.widget.ImageView.ScaleType;  
    11. /** 
    12.  *  
    13.  * @author chenzheng_java 
    14.  * 
    15.  */  
    16. public class ImageViewActivity extends Activity {  
    17.   
    18.     private ImageView image1;  
    19.     private ImageView image2;  
    20.     @Override  
    21.     protected void onCreate(Bundle savedInstanceState) {  
    22.         super.onCreate(savedInstanceState);  
    23.         setContentView(R.layout.imageview);  
    24.           
    25.         image1 = (ImageView) findViewById(R.id.imge1);  
    26.         image2 = (ImageView) findViewById(R.id.imge2);  
    27.     //  resetButton = (Button)findViewById(R.id.resetButton);  
    28.           
    29.           
    30.         final int [] ids = new int[]{  
    31.                 R.drawable.red_a,  
    32.                 R.drawable.blackk,  
    33.                 R.drawable.beauty  
    34.         };  
    35.           
    36.           
    37.         image1.setOnClickListener(new View.OnClickListener() {  
    38.             @Override  
    39.             public void onClick(View v) {  
    40.                 int id = ids[0];  
    41.                  image1.setScaleType(ScaleType.CENTER);// 设置剪辑模式  
    42.                   
    43.                 // 设置imageView的背景,如果已经有图片存在的话,则背景会被遮住  
    44.                 // image1.setBackgroundResource(id);  
    45.                   
    46.                 // 设置ImageView上显示的图片  
    47.                  image1.setImageResource(id);  
    48.                    
    49.                  image2.setImageResource(R.drawable.icon);  
    50.                  image2.setAlpha(100);// 设置透明度,255时为无透明度  
    51.               
    52.                   
    53.             }  
    54.         });  
    55.           
    56.           
    57.     }  
    58.   
    59. }  

    -----------------------------------------------------------

    如何为ImageView设置图片呢,主要方法有:

    三种设置图片源的方法
    ImageView iv;

    String fileName = "/data/data/com.test/aa.png;
    Bitmap bm = BitmapFactory.decodeFile(fileName);
    iv.setImageBitmap(bm);


    ImageView iv = new ImageView(context);
    iv.setImageResource(iv[position]);
    iv.setScaleType(ImageView.ScaleType.FIT_XY);
    iv.setLayoutParams(new Gallery.LayoutParams(136,88));


    mImageView = (ImageView)this.findViewById(R.id.myImageView1);
    mImageView.setImageDrawable(getResources().getDrawable(R.drawable.right));
  • 相关阅读:
    五分钟带你了解啥是JWT
    软件系统方案设计
    基于工程实践的需求分析和概念原型
    Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
    ssh链接到minikube虚拟机
    error converting YAML to JSON: yaml: line 3: mapping values are not allowed in this context
    CentOS 7 virt-manager “authentication failed”错误及解决方法
    centos安装docker
    kali安装php-gd
    mariadb忘记root密码
  • 原文地址:https://www.cnblogs.com/xiao0/p/2170270.html
Copyright © 2020-2023  润新知