• 第17讲- UI常用组件之ImageView图片浏览


    17讲 UI常用组件之ImageView图片浏览

    二、图片浏览ImageView

    ImageView就是一个用来显示图片的视图;

    ImageView常见属性

    常见属性

    对应方法

    说明

    android:adjustViewBounds

    setAdjustViewBounds(boolean)

    是否保持宽高比。需要与maxWidth、MaxHeight一起使用,单独使用没有效果。

    android:maxHeight

    set MaxHeight(int)

    设置View的最大高度。需要与setAdjustViewBounds一起使用。

    android:maxWidth

    set MaxWidth(int)

    设置View的最大宽度。同上。

    android:scaleType

    setScaleType(ImageView. ScaleType)

    设置图片的填充方式。

    android:src

    setImageResource(int)

    设置View的drawable(如图片,也可以是颜色,但是需要指定View的大小)

     

    setAlpha (int alpha)

    设置透明度

    setImageBitmap (Bitmap bm)

    设置位图作为该 ImageView 的内容。

    setImageDrawable (Drawable drawable)

    设置可绘制对象为该 ImageView 显示的内容。

    setImageResource (int resId)

    设置指定ID的资源为该 ImageView 显示的内容。

    setImageURI (Uri uri)

    设置指定的 URI 为该 ImageView 显示的内容。

    setSelected (boolean selected)

    设置视图的选中状态。

     

    1.显示图片:

    在activity_main.xml中添加一个ImageView,将图片a1.jpg放置在res中的drawable文件夹中;

    在activity_main.xml中编写程序

       <ImageView

           android:id="@+id/imageView1"

           android:layout_width="wrap_content"

           android:layout_height="wrap_content"

           android:src="@drawable/a1" />

    2.实现点击图片进行切换

    首先,将图片a1.jpg, a2.jpg, a3.jpg, a4.jpg放置在res中的drawable文件夹中;

    然后,将图片进行排序,将其引用放置在数组中;

    private int[] a= new int[]{

    R.drawable.a1,

    R.drawable.a2,

    R.drawable.a3,

    R.drawable.a4,

    };

    设置切换用的计数器count。

    private int count=0;

    protected voidonCreate(Bundle savedInstanceState) {

             super.onCreate(savedInstanceState);

             setContentView(R.layout.activity_main);

    ImageView imageView=(ImageView) findViewById(R.id.imageView1);

    imageView.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {

    ImageView view=(ImageView) v;

    if(count==3){                          //当到达最后一张图片时,在点击将切换到第一张图片

    count= -1;

    }

    view.setImageResource(a[++count]);

    }

    });

    }

    3. 实现点击图片进行左右切换:

    点击图片左边,切换到前一张图片;点击图片右边,切换到下一张图片。

    需要解决: a1.如何在图片点击过程中,获得点击处X轴坐标; a2.获取屏幕宽度。

    ImageView imageView=(ImageView)findViewById(R.id.imageView1);

    Final int width =this.getWindowManager().getDefaultDisplay().getWidth();

    //利用touch方法可以获得点击现场的信息。

    imageView.setOnTouchListener(newOnTouchListener() {

                       publicboolean onTouch(View v, MotionEvent event) {

                                //如何在图片点击过程中,获得点击处X轴坐标

                                intx = (int) event.getX();

                                ImageViewview=(ImageView) v;

                                if(x>=(width/2)){

                                         if(count==3){

                                                   count=-1;

                                         }

                                         view.setImageResource(a[++count]);

                                }else{

                                         if(count==0){

                                                   count=4;

                                         }

                                         view.setImageResource(a[--count]);

                                }

                                returnfalse;

                       }

    });

  • 相关阅读:
    C#实现函数超出指定时间,自动退出
    批量下载github代码,同时含有解压zip,遍历文件函数
    MSBuild构建工作空间,解决project.Documents.Count()=0的问题
    使用Roslyn 使用MSBuild进行编译,项目不报错,但是运行显示ReflectionTypeLoadException,解决方案
    基于roslyn实现函数与函数之间的依赖关系
    discount C#
    对Symbol的获取(Roslyn)
    AcWing 955. 维护数列(splay插入,删除,区间修改,区间翻转,区间求和,区间求最大子段和)
    AcWing 1063. 永无乡(并查集, 启发式合并,splay)
    AcWing 2437. Splay
  • 原文地址:https://www.cnblogs.com/anyuan9/p/6171604.html
Copyright © 2020-2023  润新知