私の要件は既存のtextView getをオーバーライドするfindViewById(getResources().getIdentifier("xxx", "id", "android"));
ことなので、単純onDraw()
に他の答えを試すことはできません。
しかし、私は私の問題を修正するための正しい手順を理解しているだけです。これがレイアウトインスペクターの最終結果です。

私が欲しかったのは単に上部のスペースを削除することなので、下部のスペースを削除するために他のフォントを選択する必要はありません。
これを修正するための重要なコードは次のとおりです。
Typeface mfont = Typeface.createFromAsset(getResources().getAssets(), "fonts/myCustomFont.otf");
myTextView.setTypeface(mfont);
myTextView.setPadding(0, 0, 0, 0);
myTextView.setIncludeFontPadding(false);
最初のキーは、カスタムフォント「fonts / myCustomFont.otf」に設定されています。これは下部にスペースがあり、上部にはスペースがありません。OTFファイルを開き、Android Studioで任意のフォントをクリックすると、簡単にこれを理解できます。

ご覧のとおり、下部のカーソルには余白がありますが、上部にはありません。そのため、問題が解決しました。
2番目の重要な点は、単純にコードをスキップできないことです。そうしないと、機能しない可能性があります。そのため、回答が機能しているとコメントする人もいれば、機能していないとコメントする人もいます。
それらの1つを削除するとどうなるかを説明します。
なしsetTypeface(mfont);
:

なしsetPadding(0, 0, 0, 0);
:

なしsetIncludeFontPadding(false);
:

それらの3つなし(つまり、オリジナル):
