2016-04-01 7 views
-1

私はアンドロイドで描画アプリを構築しています。 Textが大きすぎると、それはCanvasの幅を超えて描画されていましたが、今解決しましたが、問題はキャンバスの高さからテキストが外れるときです。テキスト全体の高さを計算するにはどうすればいいですか?それは画面に収まるでしょうか?Androidでキャンバスの高さから外れると、描画されたテキストを上に移動するにはどうすればよいですか?

私はすでに2つのキャンバスで試して、2番目のキャンバスに描画するので、外に出るとキャンバストランスレート(x、y)を使用しますが、まだ動作しません。

enter image description here

答えて

0

AndroidのAPIは、テキストのレンダリングを実装レイアウトのクラス(パッケージandroid.text)、のセットを持っています。

例:

int maxWitdh; // mam witdh of text 
StaticLayout layout = new StaticLayout(text, mPaint, maxWidth, Alignment.ALIGN_NORMAL, 1, 0, true); 

int height = layout.getHeight(); 

layout.draw(canvas); 
+0

私はこれを試してみましたが、テキストが画面の幅から外れても、まだ高さの問題は解決していません:/、テキストはまだ画面の高さから出ています。 – Cath

0

がStaticLayoutと私はテキスト全体の高さを持って、画面の高さとそれを比較して、それを考え出しました。

if (layoutHeight > height - coordinateY){ 
    secondCanvas.translate(getCoordX(), height-layoutHeight); 
} 

今は高さから外れません。

関連する問題