Wow*_*zer 1 java android android-custom-view
private void init()
{
if (isInEditMode())
return;
paint.setStyle(Paint.Style.FILL);
paint.setColor(getResources().getColor(R.color.control_highlight_color));
paint.setAntiAlias(true);
setWillNotDraw(true);
setDrawingCacheEnabled(true);
setClickable(true);
}
Run Code Online (Sandbox Code Playgroud)
我试着理解如何创建涟漪效应时遇到上面的代码.
1)我的问题是究竟是什么isInEditMode().我看了一下开发者网站,解释对我来说有点混乱.
2)另一个是令if(isInEditMode()) return;我惊讶的代码.我认为if语句检查遵循格式if(){return;}.但是,上面代码的格式化方式让我感到困惑,我想知道为什么会这样.
3)另外,如果返回值没有,为什么不首先不指定它?
解释很简单就看看这个
在开发人员工具(Android studio,Eclipse等)中显示时,View通常处于编辑模式.例如,如果此视图由可视用户界面构建器绘制,则此方法应返回true.
例如:该类在其构造函数中生成一个线程,绘图代码依赖于特定于设备的功能等.此方法通常在自定义小部件的绘图代码中进行检查.
所以isInEditMode()仅用于图形目的(在Android studio ..etc中)
另一个是if(isInEditMode())返回; 令我觉得奇怪的代码
作为单行代码,您可以省略{}括号.
另外,如果返回值没有,为什么不首先不指定它?
因为方法返回类型Void只返回.放置返回的原因是java,如果视图处于编辑模式,则不希望进行特定于设备的操作.
| 归档时间: |
|
| 查看次数: |
1027 次 |
| 最近记录: |