問題タブ [ondraw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
4483 参照

android - カスタム ビューの OnDraw() メソッドは、ボタンのクリック時に一度だけ呼び出されます

ボタンのクリックで onDraw メソッドを呼び出そうとしています。ボタンは一度だけ更新され、onDraw メソッドも呼び出されます。しかし、ラインの位置は変わりません。

私はこのカスタムビューを持っています

アクティビティクラスからこれを呼び出す

0 投票する
2 に答える
2658 参照

android - タッチポイントを印刷して描画する Android アプリを作成するには?

小さなアプリを作りたい。画面に触れて何かを描くと、通過したポイントがリストされ、5 番目のポイントごとに小さな緑色の 3x3 の長方形が描画されます。TextView を使用してポイントをリストするために onTouchEvent を使用し、それを setContentView に送信します。しかし、私は描画に問題があります。描画(onDraw)の例を確認しましたが、印刷ポイントと緑のドットの描画の両方で機能させることができません。どんな助けでも素晴らしいでしょう、ありがとう。

0 投票する
3 に答える
7389 参照

java - アニメーションをよりスムーズにする方法 Android

画面上をボールが走るアプリがあります。ボールが半分に到達すると、アプリケーションはオーディオを録音し、FFT を計算し、追加の分析を行います。

これは Asynctask によって処理されますが、アニメーションは依然として短時間途切れます。

スムーズに実行する方法について何か提案はありますか?

ありがとう

以下のコード:

0 投票する
2 に答える
327 参照

android - Androidで画面の更新を傍受する

Androidで画面の更新を傍受することは可能ですか?

カスタムLinearLayoutを実装してonDraw()メソッドを上書きしましたが、子要素をクリックせずに別の場所をクリックした場合にのみ呼び出されます。

たとえば、このビューグループにボタンがあり、このボタンをクリックすると、onDraw()ルートレベルでメソッドが呼び出されません。一方、TextViewをタッチするonDraw()と、ルートレベルで呼び出されます。一部の要素がonDraw()メソッドを消費し、それを親に渡さないようです。ルートビューとその子のすべての更新をルートレベルで取得するためにキャッチできる別のメソッドまたはイベントはありますか?ただし、可能な各子を拡張してカスタム実装を行うことを除きますか?

編集:多分私はそれを少し明確にする必要があります。私の目的は、子ビューが変更されるたびに、子ビューのビットマップを取得することです。たとえば、ボタンが子ビューの場合、ビューをビットマップに描画します(描画キャッシュを取得するか、カスタムキャンバスに手動でdraw()を呼び出します)。たとえばonClickListenerを使用する場合の問題は、ボタンの状態がクリックされている間、実際には「クリック」されることです。クリックの前後に設定されるボタンの状態の画像も必要です(http://developer.android。 com / design / style / touch-feedback.html)。もう1つの問題は、どの子ビューといくつの子ビューが存在するかわからないことです。これは、作成されたすべての可能なレイアウトで機能するはずです。したがって、onClickListenersもオプションではありません。ただし、すべての子を反復処理して、それらがどのタイプであるかを確認する場合を除きます。しかし、それでもさまざまな状態に問題があります。

0 投票する
1 に答える
952 参照

android - Android:追加のオブジェクト参照をカスタムビューに渡す方法

現在、カスタムビューがあります。

ここで、Androidに関連しないオブジェクト、たとえばデータベース接続にアクセスしたいのですが、どうすればよいですか?私の現在の解決策は、次のことを行うことです

私の質問は、これを行うためのより良い方法があるということです。現在、クラスで使用されるオブジェクトが設定されていることを確認するために(セッターを介して)設定する必要がありますMyView。上記のコードスニペットは機能しますが、これがエレガントで人気のあるアプローチかどうかわかりませんか?

MyView(Context c, AttributeSets attrs)コンストラクターを介してオブジェクトを渡すことを考えていますが、Androidはコンストラクターのみを呼び出すため、バージョンが存在する場合はバージョンを呼び出さないため、それはできませんMyView(Context c, AttributeSets attrs, DBConnection db)

助けてください

0 投票する
1 に答える
1559 参照

mfc - MFC - DocumentView OnDraw(CDC* pDC) メソッドへのグローバルなアクセス

MFC SDI アプリケーションがあり、別のダイアログからドキュメント領域にアクセスして、何かを描画できるようにしたいと考えています。アクセスしたいものは次のとおりです。

void CProjView::OnDraw(CDC* pDC)

さらに良いことに、ダイアログから直接ドキュメント ビューを描画したいと考えています。どうやってやるの ?

0 投票する
1 に答える
161 参照

android - オブジェクトをランダムに配置するときにキャンバス内の特定の範囲を回避する

画面上のランダムな位置にオブジェクトを配置します(キャンバス):

これは正常に機能します。今; (40,50)-(60,80)の上にオブジェクトを配置したくない場合はどうなりますか?たとえば、そこにボタンがあるため、ボタンが表示されているオブジェクトで覆われないようにします。

もちろん、オブジェクトの位置がボタン領域内のどこかに配置されている場合に再ランダム化する「チェック位置」ルーチンを実装することもできます。しかし、これは最良の(最もクリーンで、最も近い、最も速い)ソリューションですか?あなたの考えをありがとう!

0 投票する
2 に答える
3007 参照

android - Android:より高速なonDraw()を取得する方法

DrawViewextendsViewを呼び出すアクティビティを作成しました。Canvasにバイナリツリーのようなものを描画します。キャンバスのサイズは画面サイズよりも大きく、onDraw関数は、キャンバスの表示部分だけでなく、すべてのキャンバスを描画します。水平および垂直のscrollViewを追加しましたが、ビューを更新するためにonDrawが何度も呼び出されることは明らかです。onDraw関数を呼び出さなくても、その画像を使用してツリーを表示する画像(ビットマップなど)にキャンバスを描画できるかどうか疑問に思いました。これができない場合、より高速なビューを取得するために何ができますか?

0 投票する
1 に答える
1844 参照

java - SurfaceView で Android ソフト キーボードを使用する方法

描画するSurfaceViewがあります。コントロール、テキストボックス、またはその他の種類のフォームタイプのアイテムはありません。私はできるようになりたいです:

1: SurfaceView の onDraw() メソッドで描いた円の 1 つをタッチし、デフォルトの Android ソフト キーボードを開きます。(タッチ検出部分のやり方は知っていますが、どうにかしてソフトキーボードを開く必要があります)

2: 入力すると、選択した文字がキャンバスに表示されるようにします (繰り返しますが、描画部分の実行方法はわかっていますが、ユーザーが最初に選択したキーをどのようにキャプチャするのでしょうか?)

多くの戦車

デビッド

0 投票する
2 に答える
2037 参照

android - Android onDraw メソッドに遅延を追加

私はアンドロイドが初めてで、ビューを2秒間表示してから変更するアプリを構築しています。これが私のonDrawメソッドです:

どこかで postdelayed メソッドを使用する必要があることは理解していますが、方法がわかりません...遅延の後に canvas.drawText 行を省略したいだけです。