20

2 色のテキストが 2 色の背景に表示される Android 用のアプリを作成する必要があります。左の写真を参照してください。すると、線がアニメーションで移動し、結果のイメージは右の写真のようになります。

次の質問があります。

  1. これを行うには、2d エンジンを使用する必要がありますか? または、標準のビューを使用しても問題ありませんか? どうやってするの?
  2. 写真のようにテキストを描く方法は?

pic1----------pic2

4

3 に答える 3

17

AndroidグラフィックAPIでは、クリップパスを使用してクリップ領域を作成します。手順:

  • キャンバスを黒色で塗りつぶします。

黒い帆布

  • キャンバスに白いテキストを描画します。

ここに画像の説明を入力してください

  • クリップパスを作成してキャンバスに適用します(Canvas.clipPath(Path)を参照) 。
  • キャンバスを白い色で塗りつぶします。

ここに画像の説明を入力してください

  • 手順2と同じテキストをキャンバスに黒で描画します。

ここに画像の説明を入力してください

于 2011-11-15T16:49:44.423 に答える
1

これは完全な答えではありません私はただ提案をします。左の写真と右の写真をどのように行うことができるか、1つの可能な解決策を知っています。しかし、私が理解できない部分はアニメーションです。つまり、状態間のスムーズなアニメーションが必要な場合です。簡単なビューを交換したいだけなら、ビューフリッパーとそれを持っていってください、しかし私はあなたがそれを達成したいとは思わない...

できることの1つは、背景を320幅に設定し、0-160白と160-320黒に設定することです。それで

tv.setText(Html.fromHtml("<font color='black'>black on white</font> <font color='white'>white on black</font>"));

もちろん、黒と白の文字数を正確に計算する必要がありますが、それがコンセプトです

于 2011-09-13T09:22:35.497 に答える