android——(图片框与进度条)
1. Toast(吐丝框)
1.1 Toast是Android中的一种简易的消息提示框
1.2 使用这个类的最简单的方法是调用静态方法构造您所需要的一切,并返回一个新的Toast对象。
Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT);
toast.show();
第一个参数:当前的上下文环境。可用getApplicationContext()或this
第二个参数:要显示的字符串。也可是R.string中字符串ID
第三个参数:显示的时间长短。Toast默认的有两个LENGTH_LONG(长)和LENGTH_SHORT(短),也可以使用毫秒如2000ms
Toast.makeText(this, "你好,android", Toast.LENGTH_SHORT).show();
2. ImageView
2.0 注意事项:res下面的资源名不能使用大写字母,特别是图片资源中的图片的文件名,会造成R.java文件丢失,改正确后即可
例如:smallImage.png错误,small_image.png正确
2.1 scaleType(缩放类型)
scaleType的属性值有:matrix fitXY fitStart fitCenter fitEnd center centerCrop centerInside
(扩大或缩小至)
图片宽度--------------->控件宽度
它们之间的区别如下:
matrix 用矩阵来绘制(从左上角起始的矩阵区域)
fitXY 不按比例缩放图片,目标是把整个图片塞满整个View
fitStart 把图片按比例扩大或缩小到View的[[[宽度]]],然后置顶部显示(图片会完整显示)
fitCenter 把图片按比例扩大或缩小到View的[[[宽度]]],然后居中显示(图片会完整显示)
fitEnd 把图片按比例扩大或缩小到View的[[[宽度]]],然后置底部显示(图片会完整显示)
center 不缩放,将图片按原来大小居中显示,当图片宽高超过View的宽高时,则截取图片的居中部分显示
centerCrop 按比例扩大(或缩小)图片的size居中显示,使得图片的长宽的[[[等于或大于]]]View的长宽
centerInside 按比例扩大(或缩小)图片的size居中显示,使得图片的长宽的[[[等于或小于]]]View的长宽 (图片会完整显示)
用得最多还是fitXY fitStart fitCenter fitEnd
默认是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)
3. 进度条 ProgressBar
3.1 常用属性
style="?android:attr/progressBarStyleHorizontal" 默认为圆形
android:progress="33" 设置当前进度
android:max="100" 设置进度条最大
<ProgressBarandroid:layout_width="match_parent"android:layout_height="wrap_content"android:id="@+id/pb_main_download"style="?android:attr/progressBarStyleHorizontal" //默认为圆形 android:max="100"//设置进度条最大值/>
设置线程休眠
Thread.sleep(100);//抛异常
SystemClock.sleep(100);//不会抛异常
try {
// 设置线程休眠Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}
// SystemClock.sleep(100);//不会抛异常
3.2 线程注意事项:
不能在主线程中执行耗时的操作,只能在子线程中操作
另外,在子线程中不能操作主线程中的控件(ProgressBar除外)
private class MyThread extends Thread{
SubThread->MainThread 错误
/*** 子线程*/class MyThread extends Thread{@Overridepublic void run() {super.run();while(true){try {
// 设置线程休眠Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}
// SystemClock.sleep(100);//不会抛异常if(processCode == 100){processCode = 0;break;}Message msg = new Message();msg.what = 1;myHandler.sendMessage(msg);}}}
3.3 Handler(重点、面试问得比较多)
用于线程之间的通信,比如:主线程与子线程
private Handler myHandler = new Handler(){}
/*** 用于子线程与主线程之间的通信桥梁*/private Handler myHandler = new Handler(){@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what){case 1:processCode ++;text_main_downloadShow.setText(processCode + "%");pb_main_download.setProgress(processCode);break;}}};
3.4 线程小结
SubThread->MainThread 错误
SubThread->Handler->MainThread 正确
android——(图片框与进度条)相关推荐
- Android图片框和进度条介绍
1. ImageView(图片框) 注意事项:res下面的资源名不能使用大写字母,特别是图片资源中的图片的文件名,会造成R.java文件丢失,改正确后即可 在div里面放图片 scaleType的属性 ...
- 火山视窗按钮,图形按钮,标签,编辑框,图片框,进度条,滑块条组件介绍
本源码转载自利快云https://www.lkuaiy.com/ 火山视窗常用基础组件操作(上) 一.按钮 1.在基本组件中就可以看到本组件,主要用于鼠标点击后执行某些操作. 2.选中组件后右 ...
- android 自定义view 加载图片,Android自定义View基础开发之图片加载进度条
学会了Paint,Canvas的基本用法之后,我们就可以动手开始实践了,先写个简单的图片加载进度条看看. 按照惯例,先看效果图,再决定要不要往下看: 既然看到这里了,应该是想了解这个图片加载进度条了, ...
- Android 动态改变SeekBar进度条颜色与滑块颜色
Android 动态改变SeekBar进度条颜色与滑块颜色 遇到个动态改变SeekBar进度条颜色与滑块颜色的需求,如图: 有的是根据不同进度改变成不同颜色. 对于这个怎么做呢?大家都知道设置下pro ...
- android 4.2.2进度条,Android实现个性化的进度条
1.案例效果图 2.准备素材 progress1.png(78*78) progress2.png(78*78) 3.原理 采用一张图片作为ProgressBar的背景图片(一般采用颜色比较浅的).另 ...
- android 音乐播放 圆形进度条
上次 上传gif后 没动 不知道这次会不会动 在依次吐槽 csdn的博客模板 原来要选择 无水印 我的天 gif才成功 上次写了一个音乐播放器 今天吧里面的一个效果写出来 写博客的习惯要慢慢养成 ...
- Android自定义控件NumberCircleProgressBar(圆形进度条)的实现
Android自定义控件NumberCircleProgressBar(圆形进度条)的实现
- Android开发之带进度条的WebView
老套路先看效果: 直接上代码: 区分java和kotlin版本 Java版本: package com.example.progresswebview;import android.os.Bundle ...
- Android学习笔记(24):进度条组件ProgressBar及其子类
ProgressBar作为进度条组件使用,它还派生了SeekBar(拖动条)和RatingBar(星级评分条). ProgressBar支持的XML属性: Attribute Name Related ...
最新文章
- Linux那些事儿之我是Sysfs(10)sysfs 创建目录
- PHP--认识Smarty模板引擎
- 大气波导计算MATLAB,基于抛物方程的大气波导环境下电波传播的研究rbedacv8.ppt
- std::thread 不 join
- linux中info功能是什么意思,Linux中的info指令
- cordova 安卓文件多选_LAMMPS从研一到延毕:利用MS建模生成反应力场所需的data文件...
- 荐书丨如何快速成为150万+小程序开发者中的一员
- 6步学会VS封装DLL
- 【转】【深度学习MobileNet】——深刻解读MobileNet网络结构
- 黑马程序员——Java基础知识——泛型、枚举
- c语言程序求对称矩阵,C中使用CBLAS/LAPACK的对称矩阵求逆
- 动态库静态库的链接过程
- 洛谷题单-【算法1-5】贪心
- css单标签,自己练习的css动画(单标签)
- 优化vue项目打包的chunk.js 和 chunk-vonder.js
- 红杉资本合伙人Maguire:Crypto将是未来30年最大趋势
- 嵌入式软件开发需要学习的知识点
- xshell 连接报错 Disconnected from remote host
- 一个人写公众号能赚多少钱?我的副业之路
- web前端知识——iframe标签、CSS