Android
苏守坤
牛逼轰轰的软件工程师一枚,可惜不是我,哈哈
展开
-
ListView如何单独刷新一个item
对于ListView数据的刷新大家都知道,改变Adapter的数据源,然后调用Adapter的notifyDateSetChanged()方法即可。 但是我在做公司项目的时候,我的listview有几个item,只有一个item数据需要实时更新,其它都是图片跟文字,不需要更新。因为要实时更新,所以要不停的调用notifyDateSetChanged刷新数据。这样会不停的重新绘制整个listview的界面,性能开销非常大。而且item有图片的话,每个item的图片都需要重新加载,就算图片做了内存缓存,刷原创 2020-07-27 11:23:49 · 1673 阅读 · 0 评论 -
Android 开关控件Switch
目录:1.应用场景与概述2.常用属性3.简单使用4.更改默认Switch的样式5.自定义Switch1.应用场景与概述Switch是在4.0以后推出的,所以要注意开发时的minsdk设置,google在API 21后也推出support v7 包下的SwitchCompa的Material Design开关控件,对低版本的有了更好的的支持。其实switch的应用场景和ToggleButton类似,多应用于两种状态的切换。2...原创 2020-07-13 17:01:15 · 14968 阅读 · 0 评论 -
获取ActionBar的高度及隐藏显示
一、在使用Android Studio创建新项目时,你可能会发现:1.如果你的Activity继承的是AppCompatActivity,默认主题是有ActionBar的2.如果你的Activity继承的是Activity,默认主题是没有ActionBar的二、在有ActionBar的时候我们可以使用下面的方法获取其高度,然后对页面布局进行进一步修改。 // Calculate ActionBar height TypedValue tv = new原创 2020-05-19 14:48:40 · 1153 阅读 · 0 评论 -
准确获取Android设备的分辨率
今天使用getMetrics()这种方法获取小米平安4的设备分辨率,平板设置里面明明写的分辨率1920x1200,我获取的分辨率是1920x1104,获取的分辨率与设备不一样,查找问题,发现应该使用getRealMetrics()。原因分析如下:getMetrics()这种方法广为流传,百度一下但是这种方法有一个弊端,就是在android 4.4上测得的高度不准确(之后的Android版本估计也会,我没有实测,你们可以试试)。具体原因为getMetrics()获取到的屏幕信息在android4.4后会忽原创 2020-05-19 14:43:43 · 1166 阅读 · 0 评论 -
Android中dp的概念
以前刚接触Android时就知道一个概念:由于android设备种类繁多,屏幕分辨率的ppi(pixels per inche,有时也叫dpi dots per inch)也各有不同,因此定义大小时如果使用像素(pix)作为单位的话,必然导致在不同设备上看起来不一样大小,甚至差别很大。比如一张160px大小的控件,在160ppi的屏幕上看,刚好是1英寸;但是到了240ppi的屏幕上,就只有2/3英寸了,这个差别,对于布局来说,是毁灭性的。于是为了保证在不同设备上定义的控件尺寸都一样,一般的教程上都推荐使原创 2020-05-19 11:09:43 · 4647 阅读 · 0 评论 -
Android遍历获取指定目录的文件
我们经常遇到一个问题,需要获取指定目录的某些扩展名的文件,并将其存在List中,怎么来实现呢?// 获取当前目录下所有的mp4 MOV文件 private List<String> GetVideoFileName(String fileDir) { List<String> pathList = new Array<String>(); File file = new File(fileDir); File[] subFile = file.list原创 2020-05-18 17:34:25 · 2926 阅读 · 0 评论 -
自定义surfaceView和视频surfaceview
一、SurfaceView和VIew的区别1、VIew主要适用于主动更新情况,并且只能在主线程绘制和更新画面,以及在绘图时没有使用双缓冲机制2、surfaceView主要适用于被动更新,如频繁的刷新,因为它可以通过子线程来进行页面的刷新,而且在底层已经实现双缓冲机制,绘图时不会出现闪烁问题总而言之,SurfaceView继承自View,主要用于视频、音频或耗时的绘图和经常更新视图(地图等等)显示,如果自定义的view需要频繁刷新,或者刷新时处...原创 2020-05-14 17:48:37 · 839 阅读 · 0 评论 -
Android MediaPlayer的生命周期
Android MediaPlayer的生命周期MediaPlayer的状态转换图也表征了它的生命周期,搞清楚这个图可以帮助我们在使用MediaPlayer时考虑情况更周全,写出的代码也更具健壮性。这张状态转换图清晰的描述了MediaPlayer的各个状态,也列举了主要的方法的调用时序,每种方法只能在一些特定的状态下使用,如果使用时MediaPlayer的状态不正确则会引发IllegalStateException异常。Idle 状态:当使用new()方法创建一个MediaPlayer.原创 2020-05-14 15:07:18 · 184 阅读 · 0 评论 -
Android自定义View构造函数及属性详解
目录也就是说,系统默认只会调用Custom View的前两个构造函数,至于第三个构造函数的调用,通常是我们自己在构造函数中主动调用的(例如,在第二个构造函数中调用第三个构造函数).至于自定义属性的获取,通常是在构造函数中通过obtainStyledAttributes函数实现的.这里先介绍一下如何生成Custom View的自定义属性.目录 初始Custom View的构造函数 生成Custom View的自定义属性 在Custom View的构造函数中获取自定义属...原创 2020-05-14 14:28:20 · 189 阅读 · 0 评论 -
Java 开发环境配置
Java 开发环境配置在本章节中我们将为大家介绍如何搭建Java开发环境。Windows 上安装开发环境 Linux 上安装开发环境 安装 Eclipse 运行 Javawindow系统安装java下载JDK首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/ind...原创 2020-04-03 14:44:25 · 225 阅读 · 0 评论