TextView.setLineSpacing() öğesine 'add' ekleyerek bir TextView'daki satır aralığını azaltmaya çalışıyorum. Alt çizginin kesilmesi dışında iyi çalışır.TextView satır aralığını azaltma
Ana düzeni
<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" />
ana faaliyet: (Bu görünümün altındaki kesme sonuçlanır
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");
}
}
fark ('g' fark en alt satırda):
Sorun, yanlış düzen ölçümü ile ilgili olduğu görülmektedir. Ben
Düzgün kılmakla kalmamaktaandroid:layout_height="fill_parent"
için TextView ayarlarsanız:
Herhangi fikri nasıl düzeltilir? Yardım ederse çirkin çözümlere sahip olmam umurumda değil. Ayrıca FontForge'a erişimim var ve gerekiyorsa yazı tipi dosyasını değiştirebilirim.
o olur mu ** yerleşik yazı tipleri ile de? Veya diğer özel yazı tipleri? Yazı tipi doğru iniş değerini bildirmiyor olabilir. Son satırda – kcoppock
da -30f'nin LineSpacing'i uygulanmaktadır. Bu yüzden son satır düzgün görünmüyor. Bu durumda, 'in alt dolgusunu' 30'unu ayarlayabiliyorsunuz ... @ kcoppock 'iniş değerlerinde yanlış bir şey düşünmüyorum' –
@kcoppock, typeface = Typeface.SANS_SERIF; – user1139880