0
我正在以編程方式創建一個呈現在畫布上的TextView。我的代碼是這樣做的:無法以程序創建的TextView垂直對齊文本
TextView textView = new TextView(context);
textView.layout(0, 0, 140, 180);
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
textView.setGravity(Gravity.CENTER_VERTICAL);
textView.setBackgroundColor(Color.GREEN);
textView.setTextColor(Color.BLACK);
textView.setText("ABC");
textView.setDrawingCacheEnabled(true);
canvas.drawBitmap(textView.getDrawingCache(), scaledX, scaledY, null);
但它沒有垂直對齊。我試圖將它與重力對齊也對齊,但沒有結果。水平對齊文本沒有問題。
不應該高度由textView.layout(0,0,140,180)設置?由於我把綠色背景放在那裏,我可以看到它的高度大約是文本高度的三倍。試圖設置layoutParams,但沒有任何區別。 –
我嘗試改爲textView.layout(0,0,500,500),它沒有影響。這不是設定我相信的寬度和高度的方法。您需要通過LayoutParam進行設置。 – Elye