所以我有一堆正方形
Tile : View
以正方形GridLayout
排列。
(更确切地说,我有一个GridLayout
,我用Tile
填充,然后强制为正方形尺寸。)
我们有EmptyTile : Tile
和ButtonTile : Tile
,其中ButtonTile
是可点击的,而EmptyTile
是不可点击的。
假设我们的布局看起来像这样:
BEEBEEB
EEEEEEE
BEEBEEB
(其中每个B
是一个ButtonTile
,每个E
是一个EmptyTile
。)
我现在想用平铺或平铺的平铺砖替换一些EmptyTile
,以连接最近的ButtonTiles
。即:
B--B--B
|EE|EE|
B--B--B
当我唯一的要求是钢筋必须具有可设置的颜色时,如何最好地生成这些钢筋?
ButtonTile
,例如根据设置为onDraw
的某些内部状态(活动,可选,突出显示等)更改颜色(每次更改内部状态都会触发{ {1}}。
即:
invalidate()
我非常想保留条形图块的功能。
很明显,我可以创建具有透明度的图像并将其放置在图块上,但这意味着我无法以编程方式控制覆盖层的颜色,因此我正在寻找更多复杂的解决方案(如果有的话)。