0

我的 Android 应用程序中出现了一些非常非常奇怪的行为。

我正在扩展 Button 以替换标准。在我自己的按钮中,我设置: - TextAppearence(文本 16 像素,粗体..) - BackgroundDrawable(替换标准按钮的选择器,使用 60 像素的图像) -Gravity: LEFT|CENTER_VERTICAL.

每当文本足以使按钮有 2 行文本时,如果它具有属性Gravity.CENTER_VERTICAL,就会出现顶部填充!

这让我在谷歌上搜索了好几个星期......(设置 paddingTop、singleLine 和其他简单的解决方案当然不起作用!)

终于找到解决办法了!!!

 @Override
 protected boolean setFrame(int l, int t, int r, int b) {
  int fixedTopSize = 5;
  return super.setFrame(l,fixedTopSize, r, b-t);
 }

通过在扩展按钮上覆盖此方法,我终于让它在没有恼人的顶部填充的情况下工作......我仍然不明白为什么会发生这种情况。

有什么想法吗?

4

1 回答 1

0

我发现是布局的重力以及按钮的重力和重量(我没有使用 weightSum 只是 layout_weight)弄乱了布局。

很奇怪,但是……它正在发生。

于 2011-01-26T12:10:18.390 回答