【问题标题】:Change android ripple color dynamically动态更改android波纹颜色
【发布时间】:2020-07-09 22:32:43
【问题描述】:

有没有办法以编程方式更改控件的波纹颜色?具体来说,我希望能够从 API 中获取主题颜色并将它们应用于整个应用程序。从周围的几个答案中,我了解到android不允许动态更改主题,所以我开始实现自己的主题。 还有一件事要改,波纹的颜色:

  • 有没有办法动态地(以编程方式)改变它 单个控件?
    • 编辑:具体来说,我想将其应用于NavigationView 内的MenuItems 和ListView 的可点击RelativeLayouts 视图。
  • 是否有合理的方法为整个应用程序执行此操作?大致相当于更改colorControlHighlight

【问题讨论】:

    标签: android themes android-button material-components-android


    【解决方案1】:

    使用MaterialButton,您可以使用:

        button.setRippleColor(ContextCompat.getColorStateList(this,R.color.selector));
    

    【讨论】:

    • 这个或类似的东西是否适用于 MenuItems 或 ListViews?
    • @chubakueno 问题是您是否可以在 ListView 中使用 MaterialButton?或者您是否可以在其他视图上使用相同的方法?
    • 如果 NavigationView 或 ListView 子视图中的 MenuItems 有类似的方法。没想到这会如此具体,将编辑问题以反映这一点。
    • @chubakueno 在 ListView 中,它取决于项目中的视图。在 NavigationView 中是不同的。您不能使用此方法。
    猜你喜欢
    • 2015-08-13
    • 2017-06-11
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多