0

私はグラフィカルな Android プロジェクトを持っています。ユーザー インターフェイス機能を提供するための主なトリックは、drawrect と drawtext を使用して、画面上にラベル付きの四角形を描画することです。次に、タッチ イベントをキャプチャし、それらが四角形で発生するかどうかを確認します。発生すると、ボタンができます。

最もエレガントな方法ではないかもしれませんが、魅力的に機能しているようです。しかし、すべてのラベルが 1 行できれいに表示されるわけではなく、2 行で書きたいと思っています。2 つの別々の行を書き、テキストを適切な間隔で中央に配置するように手作業で調整することもできると思いますが、可能であればそれは避けたいと思います。

Android で、テキスト ラベルを分割して 1 つのステップで書き出す簡単な方法はありますか?

ありがとう、R.

4

2 に答える 2

0

Android アプリケーションでは、レイアウトを作成し、さまざまなウィジェットを配置できます。これらの潜在的なウィジェットの 1 つはボタンです。これを使用すると、ラベルの長さが必要な場合にボタン ラベルが複数行に表示されます...

ただし、私のアプリケーションは SurfaceRunner であり、私が知る限り、このビューはボタンをサポートしていません。さまざまな長方形を描画し、それらの境界内の画面タッチをチェックすることで、ボタンのような機能を使用しています。これは私の目的には問題なく機能しますが、(ボタン ウィジェットのように) 表示タスクを自動化することはできません。長いラベルを 2 行で表示するには、コードで明示的に行う必要があります。しかたがない。

幸いなことに、追加されるのは 1 行だけです。

canvas.drawRoundRect (Button, ROUNDOVER_SIZE-1, ROUNDOVER_SIZE-1, paint);
canvas.drawText (Text1, Button.centerX() - paint.measureText (Text1)/2, Button.centerY() - 10, paint);
canvas.drawText (Text2, Button.centerX() - paint.measureText (Text2)/2, Button.centerY() + 20, paint);

明らかに、「10」や「20」よりももう少し自動化されたものを使用した方がクールだったでしょうが、これで仕事は完了です。

于 2011-01-31T15:49:44.650 に答える
0

これを実現する簡単な方法はないと思います。テキストを測定し、ButtonWidth - TextWidth / 2 のオフセットで描画する必要があります。

于 2011-01-25T16:19:13.357 に答える