AppCompat v21下拉列表样式

3

我刚刚将我的AppCompat v20应用程序升级到API 21,连同AppCompat v21。大多数事情都没有问题,这篇文章也有所帮助:https://chris.banes.me/2014/10/17/appcompat-v21/。我的大多数视图看起来都不错,除了下拉框。我的App主题是:

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">

我没有为 spinner 定义自定义样式。 我也没有定义布局,我通过编程方式将 spinner 添加到视图中。 这是它的屏幕截图: enter image description here

我还将 MinSdkVersion 设置为 15。 一些样式显然来自新的 Material 主题,例如暗色 EditText 线条,但我的标签和文本的自定义文本样式似乎与以前相同,因此它迁移成功了。 我该怎么做才能让我的 spinner 像主题的其余部分一样具有样式? 在 AppCompat v21 中,似乎有些东西认为我是在使用 Dark theme,而实际上我的主题是 light。


你解决过这个问题吗?我也还在遇到它。 - Silver
@Silver 有点像。这是谷歌不完整的支持库。我会添加我的答案,这是一个不错的解决方法。 - regretoverflow
1个回答

0
我已经暂时解决了这个问题,直到API 21的AppCompat和Support Library更加完善。你需要做的是为你的Spinner创建一个XML布局:
``` ```
然后在你的代码中使用它:
final View spinView = inflate(context, R.layout.mult_choice, null);
spin = (Spinner) spinView.findViewById(R.id.mult_choice_spinner);
addView(spin);

它将从您的主题中选择适当的样式。


可能试一下。我选择了另一种方式,对于API-21及以上版本,我使用了Lollipop spinner,并为任何旧版本默认使用了Holo spinner。 - Silver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接