【问题标题】:AppCompat v21 Spinner StylesAppCompat v21 微调器样式
【发布时间】:2014-11-12 20:07:15
【问题描述】:

我刚刚将我的 AppCompat v20 应用程序与 AppCompat v21 一起升级到 API 21。大多数事情都没有问题,这篇文章帮助了:https://chris.banes.me/2014/10/17/appcompat-v21/我的大多数观点看起来都不错,除了 Spinners。我的应用程序的主题是:

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

我没有为微调器定义自定义样式。我也没有定义布局,我以编程方式将微调器添加到视图中。这是它的截图:

我也将 MinSdkVersion 设置为 15。某些样式显然来自新的 Material 主题,例如深色的 EditText 行,但我的标签和文本的自定义文本样式似乎与以前相同,因此可以正常迁移。我该怎么做才能让我的微调器风格与主题的其余部分一样?当我的主题为浅色时,AppCompat v21 中的某些内容似乎认为我使用的是深色主题。

【问题讨论】:

  • 你解决过这个问题吗?我也看到了。
  • @Silver 之类的。它是 Google 的一个不完整的支持库。我将添加我的答案,这是一个不错的解决方法。

标签: android android-spinner android-appcompat material-design


【解决方案1】:

我现在已经修复了这个问题,直到 API 21 AppCompat 和支持库得到更多刷新。您需要做的是为您的微调器创建一个 xml 布局: 然后在你的代码中:

final View spinView = inflate(context, R.layout.mult_choice, null);
spin = (Spinner) spinView.findViewById(R.id.mult_choice_spinner);
addView(spin);

它会从你的主题中挑选合适的样式。

【讨论】:

  • 不妨试一试。我采取了另一种方式,只是将 Lollipop 微调器用于 api-21+,并默认使用 Holo 微调器用于任何旧版本
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-23
  • 1970-01-01
相关资源
最近更新 更多