ImageView
ImgaeView用于在界面上展示图片,我们需要根据图片的分辨率,将它放在不同的目录下,目录的设置对应手机屏幕的密度dpi:
- mipmap-mdpi: 48 * 48
- mipmap-hdpi: 72 * 72
- mipmap-xxhdpi: 96 * 96
- mipmap-xxhdpi: 144 * 144
- mipmap-xxxhdpi: 192 * 192
根据手机屏幕密度将图片放置在对应drawable-…文件夹下,并使用如下方式寻找图片:1android:src="@drawable/img"
Android会按照手机屏幕密度匹配最适合的图片,如果在最适合密度对应的目录下没有找到,则向高密度文件夹中寻找图片,并在显示图片时缩小图片;若仍没有找到,则在低密度文件夹中寻找图片,并在显示图片时放大图片。
函数式接口与Lambda表达式
|
|
上面两种表达式效果相同,前者是匿名内部类的表达方式,后者是Lambda表达式。
接口,主要用来描述类具有什么功能,而并不给出每个功能的具体实现,提供实例域和方法实现的任务应该由实现接口的类来完成。函数式接口,即只有一种抽象方法的接口,需要这种接口的对象时,可以提供一个lambda表达式。
匿名内部类即只能使用一次的内部类,必须继承一个父类或实现一个接口,注意通用格式中为InterfaceType。123new InterfaceType(){ method and data}
由于匿名类没有类名,因此匿名类没有构造器,对于在内部类实现接口的时候,可以使用lambda表达式来表达。