在我的项目中使用Button时,他们会公开一个名为TextImageRelation
的属性。这用于告诉控件将按钮图像放在哪里与文本相关(我使用的是ImageBeforeText选项)。现在,我需要将文本与中心对齐。
我认为的逻辑结果是:图像与左侧对齐,按钮文本位于图像与按钮右边界之间的空间中。
但不是......文本在图像旁边对齐或与中心对齐但未考虑图像(不确定是哪种情况)。
有办法改变这种行为吗?
答案 0 :(得分:1)
不幸的是你做不到。布局由内部ButtonBaseAdapter.CommonLayout()方法确定,您无法覆盖它。
TextImageRelation = Overlay根据TextAlign设置对齐Text。图像被忽略。
设置TextImageRelation = ImageBeforeText后,Text始终与图像右侧齐平。间隙大小是固定的,3像素。将文本向右移动的一种非常愚蠢但有效的方法是在文本前加上空格。不够好,以确保它居中。你通常不会想要这个,按钮标题应该排成一行。请注意,RightToLeft = Yes为您提供了更多修补方法,而不是您正在寻找的方式。