我想要在90度线性渐变的android按钮。当按钮为state_pressed时,梯度翻转到-90度,以使其看起来更具有交互性。
在我当前的实现中,这需要一个布局XML文件、两个形状可绘制文件和一个状态列表可绘制文件。
状态列表可绘制包含两个形状可绘制文件,布局xml包含一个按钮,该按钮将其src或背景设置为状态列表可绘制。
这里的问题是配置颜色,而不是手动为形状可绘制文件中的渐变输入两种颜色,我希望有一个按钮对象,它接受一种颜色,并为渐变的另一端找到该颜色的不同颜色,设置线性梯度的度数,并为这些渐变创建多个状态。
这样就不会有任何XML文件混乱,而且我只能从我的colors.xml文件中传递一种颜色。
无论如何,这将是android项目的一个有益的补充,这个对象还将提高android应用程序UI/UX的美观性。
发布于 2013-08-21 16:32:30
这是一个需要回答的大问题。我可以向你们指出我们做过类似事情的链接。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/
https://stackoverflow.com/questions/18211895
复制相似问题