不幸的是,在dropDownListViewStyle
Spinner
是固定的。如果你查看源代碼,你會發現DropdownPopup
類,它擴展了ListPopupWindow
。在ListPopupWindow
類的興趣是DropDownListView
在那裏你會找到的構造:
public DropDownListView(Context context, boolean hijackFocus) {
super(context, null, com.android.internal.R.attr.dropDownListViewStyle);
// ...
}
因此,要改變這個是主題,因爲你已經評估的唯一方法。考慮到Spinner
正在用於需要基本主題的Activity
,我只知道一個解決方法。不幸的是,唯一的辦法是改變Fragment
的主題。這意味着全部Spinners
在那Fragment
將有替代主題。要改變你的Fragment
的主題在運行時,在你的onCreateView
做到這一點:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// create ContextThemeWrapper from the original Activity Context with the custom theme
Context context = new ContextThemeWrapper(getActivity(), R.style.My_Custom_Theme);
// clone the inflater using the ContextThemeWrapper
LayoutInflater localInflater = inflater.cloneInContext(context);
// inflate using the cloned inflater, not the passed in default
return localInflater.inflate(R.layout.my_layout, container, false);
}
這短暫的,你看創建自定義Spinner
,這是不是太困難,考慮到它的開放資源。
這是微調在與其他紡紗廠的活動? –
不幸的是。活動包含更多片段(其中一些包含旋轉器),一個片段包含此特殊樣式的旋轉器。 – koso
你會獎勵這個賞金嗎? –