Android Studio中如何通过代码实现TextView行间距的点击增减?
解决TextView行间距增减无效的问题
问题出在你用了int类型存储行间距参数,直接把小数截断了:
(int)1.0f结果是1,(int)0.1f结果是0,每次加减操作等于没变化,自然看不到行间距调整效果。
按下面的步骤修改就能解决:
- 把变量类型改成
float,保留小数精度:
private float textSpace = 1.0f; private float diff = 0.1f;
- 修正加减逻辑代码:
// 点击“+”按钮增大行间距 textSpace += diff; textView.setLineSpacing(0, textSpace); // 点击“-”按钮减小行间距(建议加下限避免文字重叠) textSpace -= diff; textSpace = Math.max(0.8f, textSpace); // 最小行间距设为0.8倍,可按需调整 textView.setLineSpacing(0, textSpace);
- 补充说明:
setLineSpacing的第二个参数是行间距倍数,只有float类型才能体现0.1这种小数级别的变化,int类型会丢失精度导致操作无效。
内容的提问来源于stack exchange,提问作者punjabidharti
相关产品推荐
相关产品推荐

