【发布时间】:2023-03-22 21:29:01
【问题描述】:
当我在 Android post-lollipop API 中实现 Spinner 时,当我在 pre-lollipop 版本中运行它时,它看起来很丑陋且失真。附上截图:
API 23:
API 16:
Spinner 在活动的onCreated 中创建如下:
mViewModeSpinner = new AppCompatSpinner(this);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.playlist_view_options, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.support.v7.appcompat.R.layout.support_simple_spinner_dropdown_item);
mViewModeSpinner.setAdapter(adapter);
toolbar.addView(mViewModeSpinner);
Toolbar.LayoutParams tlp = new Toolbar.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.END);
mViewModeSpinner.setLayoutParams(tlp);
我的第一个猜测是它与样式有关,但我不知道我应该使用哪种样式以及如何应用它来解决此问题。顺便说一句,其他下拉菜单中也会出现相同的扭曲,例如操作栏菜单。
那么我怎样才能使它在所有 API 中看起来都一样,至少到 16 个?
提前致谢:)
【问题讨论】:
标签: android drop-down-menu backwards-compatibility