【问题标题】:Theme style for custom view自定义视图的主题样式
【发布时间】:2015-07-19 18:19:09
【问题描述】:

我的应用程序有多个主题可供用户选择(红色、蓝色、绿色等)。每个主题都有相应的按钮样式(RedTheme => RedButton)。 现在我创建了一个自定义视图,它略微扩展了“按钮”,不幸的是,这个按钮没有任何样式,除了我在 layout.xml 中使用“样式”属性。 我不使用任何额外的属性,我只想应用我的 Button 样式。 我想做类似的事情:

 <item name="android:imageButtonStyle">@style/ImageButtonmyTimeRed</item>

我已经阅读了许多其他类似的帖子: How to: Define theme (style) item for custom widget 但我不能 100% 确定此解决方案是否适合我,因为我不需要任何其他属性。

【问题讨论】:

  • 你在问什么,能不能说的清楚一点
  • 您有什么不清楚的地方? -> 我只想将我的主题按钮样式应用于我的派生按钮。我还描述了我想如何使用它
  • 你看到View构造函数的第三个参数了吗?
  • 我只有 2 个 -> ClockButton(Context context, AttributeSet attrs)
  • 然后使用 3 个参数 ctor

标签: android android-layout android-theme android-styles


【解决方案1】:

我正在使用三参数超级构造函数并传递按钮样式资源ID。这适用于我所有的自定义主题。感谢@pskink 为我指明了正确的方向。

public ClockButton(Context context, AttributeSet attrs) {
    super(context, attrs, R.attr.buttonStyle);
    ...
}

我的主题是这样的:

<style name="LilaTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="buttonStyle">@style/ButtonmyTimeLila</item>
</style>

【讨论】:

  • 我收到一个错误:未能找到样式'optionbuttoviewStyle' optionbuttoviewStyle 是在我的styles.xml 中找到的自定义样式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多