我正在嘗試使用背景圖像調整TextView的大小。我有一個擴展的TextView類的類,並添加這樣:Android setTextSize TextView移動基線並切斷文本高度
MyCustomTextView tv2 = new MyCustomTextView(this);
RelativeLayout.LayoutParams lparams = new
RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
lparams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
tv2.setLayoutParams(lparams);
myLayout.addView(v);
,我縮放,像這樣在我的自定義的TextView類:
public float getScaledTextHeight()
{
float textHeightDPI = initial_size/windowHeight_inDPI;
float textOnScreenHeight = textHeightDPI * windowHeight_inDPI;
float scaledText = textOnScreenHeight * mZoom;
return scaledText;
}
public void setZoomTextHeight(float zoom)
{
mZoom = zoom;
image_size = getScaledTextHeight();
float mX = ((offset_x + img_offset_x) * mZoom);
float mY = ((offset_y + img_offset_y) * mZoom);
RelativeLayout.LayoutParams position1 =
(android.widget.RelativeLayout.LayoutParams)this.getLayoutParams();
position1.leftMargin = (int)mX;
position1.topMargin = (int)mY;
position1.bottomMargin = (int)(window_height - (position1.topMargin +
image_size + 16));
this.setLayoutParams(position1);
setTextSize(TypedValue.COMPLEX_UNIT_PX , image_size);
invalidate();
}
什麼最終情況是,使更大的文本將正確調整TextView的大小,但使文本變小會保持與大時相同的基線。它開始將我的文本從底層開始削減。
我的問題是,如何移動底線,以便在調整大小時底部不會被切斷。
在此先感謝。
非常適合我!爲了完成這項工作,這裏到底發生了什麼? – Glenn 2012-04-20 18:36:17
@Glenn這個工程的原因是因爲通過調用setMovementMethod你無意設置了android:bufferType =「spannable」,它預計會有一個變化的基線。 – whiskeyjoe 2012-05-25 15:03:42