5

我正在自定义 Android 中的一个按钮,更改其背景(使用 9patch png 文件)并更改其字体。我将按钮放在 a 中,RelativeLayout因为我需要在自定义布局中对该项目进行精确定位和尺寸标注。我正在以编程方式完成所有这些工作(从创建到设置和显示)。

我发现这个问题有同样的问题,但解决方案对我不起作用。我用了

continueBtn.setPadding(0,0,0,0);

但图形输出保持不变。超过一半的文本在视图中被截断。

我正在使用的代码摘录如下:

Button continueBtn = new Button(getContext());
p = new RelativeLayout.LayoutParams(width, 45);
p.addRule(CENTER_HORIZONTAL);

continueBtn.setLayoutParams(p);
continueBtn.setTypeface(...);
continueBtn.setTextSize(14);
outerLayout.addView(continueBtn);
continueBtn.setPadding(0, 0, 0, 0);

无论我把setPadding方法调用放在哪里,事情都不会改变。我究竟做错了什么?有任何想法吗?

4

1 回答 1

-1

您正在为 45 的按钮设置一个恒定的高度(我猜是像素)。但是,显然您尝试输入的文本高于 android 允许您使用的空间量。使您的按钮更高(通过更改 LayoutParams),它将适合而不切断。或者,使用较小的文本大小,以使文本更短且更合适。

于 2012-07-26T22:28:19.663 回答