android创建动态状态列表drawables

时间:2013-08-13 14:30:32

标签: android button drawable statelistdrawable

我希望Android按钮的线性渐变为90度。当按钮为state_pressed时,渐变翻转到-90度,使其看起来更具交互性

在我当前的实现中,这需要布局XML文件,两个形状可绘制文件和状态列表可绘制文件。

向后工作,state-list drawable包含两个shape drawable文件,而layout xml包含一个按钮,用于将src或background设置为state-list drawable。

这里的问题是配置颜色,而不是在形状可绘制文件中为我的渐变手动输入两种颜色,我希望有一个按钮对象,它采用一种颜色,并为另一种颜色找到不同的颜色阴影渐变的结束,设置线性渐变的度数,并为这些渐变创建多个状态。

这样就不会有任何XML文件混乱了,我只能传入一种颜色,来自我的colors.xml文件

无论如何,这对Android项目来说是一个很有效的补充,这个对象也会增加android app UI / UX的美感

1 个答案:

答案 0 :(得分:3)

这是一个很难回答的问题。我可以指出你做过类似事情的链接。 https://hg.mozilla.org/mozilla-central/file/ba6c02fc1fe6/mobile/android/base/ShapedButton.java#l107显示了一种即时创建StateListDrawable的方法。

以下是在单个可绘制文件上应用过滤器的方法:https://sriramramani.wordpress.com/2012/07/22/oh-my-textviews/