TextviewのgetTextSize()がどのように測定されているかについてはどこにもわかりません。視覚テストから、それはディセンダを含むようには見えないが、オーケンダを含むように見える。それはベースラインからも正確に始まるとは思われません。Android TextView getTextSize()には、ディセンダ、アセンダが含まれています
http://en.wikipedia.org/wiki/Descender
これはそれの最も近い言及であるが、Googleからのロマン・ガイは、ちょうど質問のその部分を無視します。
http://www.mail-archive.com/[email protected]/msg08514.html
Iは、化合物ドローアブルを使用していますように私はこれを必要と私は別のデバイス上のテキストに描画可能に合わせることができるようにする必要がありますとおり。ここで
は、私が化合物上のエッジここで
tvData.setTextSize(TypedValue.COMPLEX_UNIT_PX, 100);
tvData.setText("agB5ãÂ");
int size = (int)tvData.getTextSize();
Drawable img = getResources().getDrawable(R.drawable.circle_white_full_72).mutate();
img.setBounds(0 , 0 , size , size);
tvData.setCompoundDrawables(null, null, img, null);
に触れる描画可能な円をテストするために使用されるコードであるあなたはディセンダを使用していないようだ見ることができるように、結果
ですおよび上昇者。ここで
は描画イメージは、他の人がここで
int size = (int)tvData.getTextSize() *80/100;
を使用して文字サイズの80%に画像を変更する場合 http://i.imgur.com/Yhf8b.png
をテストしたい場合は、画像は上の転置で、結果であり、あります100%画像の上部。たぶんsetCompoundrawablesは、それが
をスケーリング所有していますやっている私は、フォントの中点を測定しようとした描画可能、それがオフになっています。ここで
最後に、私は出力を測定しsetTextSizeが100pxにに設定したとして、それは、ベースラインにフォントテキストのベースラインの半分の高さであった、左に描画可能50pixelsを移動し、強調画像です。
Androidは、複合ドロアブルの位取りと位置を決めるために、他のレイアウトを使用している必要があります。たぶん私はこれのために別の質問を作成する必要があります。 ベースラインまでの画像強調表示があります。
フォントの高さが "昇順を含むが、ディケンダーは含まれていません"という意味ですが、私はあなたの質問に答えるための信頼できる参照を見つけることができないようです。だから、今のところ、事例の証拠があります:私はいつもあなたが描写していることを意味する "フォントの高さ"を理解してきました。 – Barend
「ベースラインからベースラインまで」は同等であり、ドメイン内ではより意味を成しています。 – Barend
@BarendGarvelink私はそれが主導的であると信じています。 – kcoppock