Mac*_*ver 31 java android android-appcompat android-actionbar android-support-library
设置操作栏的颜色后,actionBarColor
in private String actionBarColor = "#B36305";
会突出显示为黄色,并且由于某种原因会返回警告.可以做些什么来摆脱这个警告?
字段可以转换为局部变量
public class MainActivity extends AppCompatActivity {
private String actionBarColor = "#B36305";
private int getFactorColor(int color, float factor) {
float[] hsv = new float[3];
Color.colorToHSV(color, hsv);
hsv[2] *= factor;
color = Color.HSVToColor(hsv);
return color;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_activity_main);
ActionBar actionBar = getSupportActionBar();
if(actionBar != null) {
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor(actionBarColor)));
}
}
}
Run Code Online (Sandbox Code Playgroud)
iOS*_*Dev 51
如果您知道将使用变量,请添加到班级的顶部:
@SuppressWarnings("FieldCanBeLocal")
Mic*_*nic 35
警告告诉你的是,它actionBarColor
不应该是一个全局变量(即一个字段),因为它只用在一个方法(onCreate
)中.这是一个很好的建议:您应该始终最小化变量的范围,因为它提高了可读性并减少了编程错误的可能性.
要摆脱警告,请通过在onCreate
以下内容中声明变量来解决问题:
final String actionBarColor = "#B36305";
if(actionBar != null) {
actionBar.setBackgroundDrawable(
new ColorDrawable(Color.parseColor(actionBarColor)));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35301 次 |
最近记录: |