Android的图片框于进度条

注意事项:res下面的资源名不能使用大写字母,特别是图片资源中的图片的文件名,会造成R.java文件丢失,改正确后即可

1)scr属性于background属性的区别:

    在API文档中我们发现ImageView有两个可以设置图片的属性,分别是:src和background
    常识:
        ①background通常指的都是背景,而src指的是内容!!
        ②当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸
        而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸

2)解决blackground拉伸导致图片变形的方法

这个适用于动态加载ImageView的,代码也渐渐,只要在添加View的时候,把大小写死就可以了
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(48, 48);    
layout.addView(ibtnPen, layoutParam);
除了动态加载view,更多的时候,我们还是会通过xml布局的方式引入ImageView的 解决方法也不难,就是通过drawable的Bitmap资源文件来完成,然后blackground属性设置为该文件即可! 这个xml文件在drawable文件夹下创建,这个文件夹是要自己创建的哦!!!!!!
<bitmap         
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@id/pen_bg"  
    android:gravity="top"  
    android:src="@drawable/pen"  
    android:tileMode="disabled" >  
" >  

3)Java代码中设置blackground和src属性:

前景(对应src属性):setImageDrawable( );
背景(对应background属性):setBackgroundDrawable( );

4)scaleType(缩放类行)

scaleType的属性值有:matrix   fitXY  fitStart   fitCenter  fitEnd  center   centerCrop  centerInsde                                  
              (扩大或缩小至)               
      图片宽度--------------->控件宽度                   
  它们之间的区别如下:
      matrix 用矩阵来绘制(从左上角起始的矩阵区域)

     fitXY  不按比例缩放图片,目标是把整个图片塞满整个View

     fitStart  把图片按比例扩大或缩小到View的[[[宽度]]],然后置顶部显示(图片会完整显示)

     fitCenter  把图片按比例扩大或缩小到View的[[[宽度]]],然后居中显示(图片会完整显示)

     fitEnd   把图片按比例扩大或缩小到View的[[[宽度]]],然后置底部显示(图片会完整显示)

     center  不缩放,将图片按原来大小居中显示,当图片宽高超过View的宽高时,则截取图片的居中部分显示

     centerCrop  按比例扩大(或缩小)图片的size居中显示,使得图片的长宽的[[[等于或大于]]]View的长宽

     centerInside  按比例扩大(或缩小)图片的size居中显示,使得图片的长宽的[[[等于或小于]]]View的长宽 (图片会完整显示)

         用得最多还是fitXY fitStart fitCefitEn  
         默认是fitCenter                   

scaleType属性分二种情况分析

    1.1.1 图片比ImageView小(android08_widget03_d01_v1)
    <ImageView
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_marginRight="10dp"
            android:background="#FF0000"
            android:scaleType="matrix"
            android:src="@drawable/small_image" />
    1.1.2 图片比ImageView大(android08_widget03_d01_v2)                                                                                                                                     

5) 进度条 ProgressBar

常用属性
  style="?android:attr/progressBarStyleHorizontal" 默认为圆形 
  android:progress="33"
  android:max="100" 

  线程休眠
  Thread.sleep(100);//抛异常
  SystemClock.sleep(100);//不会抛异常


 线程注意事项:
  不能在主线程中执行耗时的操作,只能在子线程中操作
  另外,在子线程中不能操作主线程中的控件(ProgressBar除外)

 SubThread->MainThread    错误

 Handler(重点、面试问得比较多)
  用于线程之间的通信,比如:主线程与子线程

线程小结
  SubThread->MainThread              错误
  SubThread->Handler->MainThread     正确

猜你喜欢

转载自blog.csdn.net/qq_41314972/article/details/82657124
今日推荐