我正在android中定制一个按钮,更改其背景(使用9patch png文件)并更改其字体。我把按钮放在一个RelativeLayout中,因为我需要在自定义布局中精确定位和标注此项的尺寸。我正在以编程方式(从创建到设置和显示)执行所有这些操作。
我发现this question有同样的问题,但解决方法对我不起作用。我用过

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方法调用放在哪里,事情都不会改变。
我做错什么了?有什么想法吗?

最佳答案

你把按钮的高度定为45(我猜是像素)。不过,很明显,你试图输入的文本比android允许你使用的空间要高。让你的按钮更高(通过改变布局参数),它将适合没有切断。或者,使用较小的文本大小,使文本更短、更适合。

08-18 03:21