android - Different dropDownListViewStyles for different spinner styles -
in application theme have dropdownlistviewstyle , spinnerstyle whole application. in 1 fragment need spinner custom styled dropdownlistviewstyle (i need change divider). possible have spinner other dropdownlistviewstyle set in theme?
in spinner style or layout not possible set dropdown divider. not possible set dropdownlistviewstyle in spinner style or layout.
i stucked, hope have answer.
unfortunately, dropdownlistviewstyle hardcoded in spinner. if source, you'll find dropdownpopup class, extends listpopupwindow. in listpopupwindow class of interest dropdownlistview you'll find constructor:
public dropdownlistview(context context, boolean hijackfocus) { super(context, null, com.android.internal.r.attr.dropdownlistviewstyle); // ... } so way change theme, you've assessed. considering spinner in question being used in activity requires base theme, know of 1 workaround. unfortunately, way change theme of fragment. means all spinners in fragment have alternative theme. change theme of fragment @ runtime, in oncreateview this:
@override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // create contextthemewrapper original activity context custom theme context context = new contextthemewrapper(getactivity(), r.style.my_custom_theme); // clone inflater using contextthemewrapper layoutinflater localinflater = inflater.cloneincontext(context); // inflate using cloned inflater, not passed in default return localinflater.inflate(r.layout.my_layout, container, false); } short of this, you're looking @ creating custom spinner, isn't too difficult, considering it's open source.
Comments
Post a Comment