我正在尝试实现类似于操作栏中的图标的按钮,即在单击时更改背景颜色的透明图像。
这些是我想满足的条件:
- 点击后背景颜色变化
- 在中心包含一个小矩形
- 矩形可以以编程方式更改颜色
我尝试使用 aDrawable
来表示矩形,然后将其设置为按钮的背景,但它扩展到按钮的边缘,因此单击时没有要更改的背景颜色(我能够使用 drawable.setColorFilter( ) 和 button.setBackground(drawable) 来改变它的颜色)。缩小按钮也会缩小触摸目标。
我还尝试使用StateListDrawable
包含两个矩形形状,一个背景和一个内部矩形,因此state_pressed
背景矩形会改变颜色。然而,前面的矩形再次拉伸并完全覆盖了背景矩形。
哪种方法可以达到我的条件?谢谢。