android 计算行间距,android – 如何减少TextView行间距

我试图通过设置TextView.setLineSpacing()的负“添加”来减少TextView中的行间距.除了底线被截断之外,它运行良好.

主要布局

android:id="@+id/text_view"

android:padding="dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

tools:context=".MainActivity" />

主要活动:(注意

package com.font_test;

import android.app.Activity;

import android.graphics.Typeface;

import android.os.Bundle;

import android.widget.TextView;

public class MainActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/custom_fonts.ttf");

final TextView tv = (TextView) findViewById(R.id.text_view);

tv.setTypeface(typeface);

tv.setTextSize(60);

tv.setLineSpacing(-30f,1f); // *** -30 to reduce line spacing

tv.setBackgroundColor(0x280000ff);

tv.setText("gggkiiikkk" + "\n" + "gikgikgik" + "\n" + "kigkigkig");

}

}

这导致在视图底部截断(注意底线的’g’):

似乎问题与错误的布局测量有关.如果我将TextView设置为

android:layout_height="fill_parent"

它确实正确呈现:

知道怎么解决吗?如果它有帮助,我不介意有丑陋的变通方法.我也可以访问FontForge,如果需要我可以修改字体文件.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值