(18)四月问题总结

18.04

记录自己18年四月学习中遇到的部分问题

问题:

  1. 覆盖方法时,什么时候需要调用超类?
  2. String subtitle = getString(R.string.subtitle_format,crimecount)。getString方法?
  3. activity回传值需不需要setResult?什么时候需要?
  4. scaletype = centerinside。这个XML属性是啥?
  5. cropTopadding属性什么意思?padding属性不起作用?
  6. List activities
  7. uri.parase???
  8. 重写toString和hasCode方法???什么时候需要?

解决:

一、覆盖方法时,什么时候需要调用超类?


二、String subtitle = getString(R.string.subtitle_format,crimecount)。getString方法?
在Android开发中,我们的字符串一般都是统一写在项目的res/values/strings.xml中,如果我们需要得到指定的字符串,一般使用getString()方法来得到。
在Resource类中它有两种定义形式:

public String getString(int id)
public Sring getString(int id,Object...formatArg)

第一个比较简单,直接通过getString就可以得到指定id的字符串
第二个使用到占位符,就是可以给前面的字符串的占位符中动态的填充制定的值,所以用法比较灵活。


三、activity回传值需不需要setResult?什么时候需要?
1. startActivity()仅仅是跳转到目标界面,若是想跳回当前界面,则必须再使用一次startActivity()
2. startActivityForResult()可以一次性完成这个任务,当程序执行到这段代码时,从A跳到B,而当B调用了finish()方法后,程序会自动跳转回A activity,并且调用A 的onActivityResult()方法。


四、 scaletype = centerinside。这个XML属性是啥?
概述:将图片边界缩放,以适应视图边界时的可选项。
常量:
1. center:
在视图中使图像居中,不执行缩放。保持原图的大小,显示在ImageView的中心,当原图的size大于ImageView的size,超出部分裁剪处理。
2. centerCrop:
以填满整个ImageView为目的,将原图中心对准ImageView的中心,等比例放大原图,直到填满ImageView为止(宽和高都要填满),原图超出ImageView的部分做裁剪处理。均衡的缩放图像(保持图像原始比例)
3. centerInside:
以原图完全显示为目的,将图片的内容完整居中显示,通过按比例缩小原图的size宽(高)等于或小于ImageView的宽(高)。如果原图的size本身就小于ImageView的size,则原图的size不做任何处理,居中显示在ImageView。均衡的缩放图像(保持图像的原始比例),使图片的两个坐标(宽高)都小于等于相应的视图左边。
4. matrix:
不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分做裁剪处理。也可以说,绘制时使用图像矩阵方式缩放。图像矩阵可以通过SetImageMatrix(Matric)设置。
5. fitCenter:
把原图按比例扩大或缩小到ImageView的高度,居中显示。
6. fitEnd:
把原图按比例扩大或缩小到ImageView的高度,显示起始于ImageView的右下方
7. fitStart:
把原图按比例扩大或缩小到ImageView的高度,显示起始于ImageView的左上方
8. fitXY:
把原图按照View指定的大小在View中显示,拉伸显示图片,不保持原比例,填满ImageView。也可以说,使用FILL方式来缩放Image,什么时FILL方式?即,分别在x,y方向上进行缩放,以便src恰好能完全匹配,但是这样做有可能改变src的原始长宽比。
这里写图片描述


五、cropTopadding属性什么意思?padding属性不起作用?
原因:和scaletype为centerCrop有关,要想两者同时作用,需要加上:

android:cropToPadding:"true"

即可


六、List activities
ListActivity类继承Activity类,默认绑定了一个ListView(列表视图)界面组件,并提供一些与列表视图,处理相关的操作


七、 uri.parase???
个人认为是通过字符串生成一个URI,然后传入Intent意图,再使用Intent启动目标,例如打开通讯录,发短信等等。具体“什么是URI,URL,URN”以及“Uri详解”


八、重写toString和hasCode方法???什么时候需要?
1. 重写toString()是对对象打印输出的一种格式化,当你print一个对象是你需要这个对象在打印时展示的是什么形态,你就把tiString重写成你需要的返回形态
2. 重写hasCode()主要是为了规定对象之间的比较方式。如果你把对象存入hash集合,集合就会对对象的hasCode进行比较,以区分两个对象是否为同一对象。


猜你喜欢

转载自blog.csdn.net/adonis044/article/details/80039479