android - What does defStyleAttr and defStyleRes in context.obtainStyledAttributes() used for? -


when check quickcontactbadge in framelayout, found following code:

 public quickcontactbadge(context context, attributeset attrs, int defstyle) {     super(context, attrs, defstyle);      typedarray =         context.obtainstyledattributes(attrs,                 com.android.internal.r.styleable.quickcontactbadge, defstyle, 0);      mmode = a.getint(com.android.internal.r.styleable.quickcontactbadge_quickcontactwindowsize,             quickcontact.mode_medium);      a.recycle();      init();      mbadgebackground = getbackground(); } 

i don't catch meaning of defstyle , 0 parameter in obtainstyledattributes(). have looked reference, still don't know used for.

the documentation explains pretty clearly, did see part:

defstyleattr attribute in current theme contains reference style resource supplies defaults values styledattributes. can 0 not defaults.

defstyleres resource identifier of style resource supplies default values styledattributes, used if defstyleattr 0 or can not found in theme. can 0 not defaults.

"can 0 not defaults." if set 0 it's not going try grab default values style attributes. seem little counter-intuitive, why overload method if can pass in 0... think can tell not in defstyleattr defaults do tell in defstyleres defaults, , vice versa.


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -