自定义view
自定义view包含什么方法
onDraw,OnMeasure,OnLayout
OnMeasure有什么参数?
OnMeasure包含widthSpec和highSpec。是个32位的数,高两位代码测量模式,低30位代表具体的值。
测量模式:
wrap_content->At Most
fill_parent->Exactly
getMeasureWidth和getWidth的区别
getMeasureWidth是在OnMeasure后有值,getWidth是在onLayout后有值,通过layout后的right减去left得到。
listView的实现逻辑
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: java.lang.Throwable
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at com.oppo.engineermode.SwitchSoftwareVersion$GridViewAdapter.getView(SwitchSoftwareVersion.java:285)
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at android.widget.AbsListView.obtainView(AbsListView.java:2400) 08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at android.widget.GridView.makeAndAddView(GridView.java:1439)
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at android.widget.GridView.makeRow(GridView.java:366)
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at android.widget.GridView.fillDown(GridView.java:307)
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at android.widget.GridView.fillFromTop(GridView.java:442)
08-13 20:11:45.957 7151 7151 D SwitchSoftwareVersion: at android.widget.GridView.layoutChildren(GridView.java:1283)
08-13 20:11:45.957
7151 7151 D SwitchSoftwareVersion: at android.widget.AbsListView.onLayout(AbsListView.java:2199)
在layoutChildren中通过obtainView,getView获取每个item的view,来显示。
网友评论