問題タブ [redraw]
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.
android - バックグラウンドドローアブルのAndroidビューを強制的に再描画する方法は? /おそらくアニメーションが正常に動作するのを妨げています
Android ビューの背景を強制的に再描画する方法はありますか? 背景としてグラデーションを使用して描画可能な形状を設定しましたが、これは正常に機能しますが、ビューの高さを変更すると、これらの醜いグラデーションのステップが表示されます。
私に何ができる?私は試してみましたが、目に見える違いはview.invalidate()
ありview.refreshDrawableState()
ませんでした。
ありがとうございました!
//編集:ここにいくつかの詳細と私のコードがあります: あなたの答えの後、バンディングは私のおそらく悪いコードの結果だと思います. これが私がやっていることです:
- ビューのスケーリング
- スケーリングされたビューは他の領域でのユーザー入力を受け入れないため、新しい幅と高さを設定し、「古い」ビューを受け入れます(スケーリング後のコントロールのアンドロイドの奇妙な(少なくとも私にとっては)動作を参照してください/領域全体で入力を受け入れません)
- 背景を再度設定しようとしています (グラデーションと角の丸い四角形が含まれています)。
これが私のコードです:
デバイスでは、背景のドローアブルが変更されていることがわかりますが、アニメーションが終了する前に背景の変更が適用されたように見えるちらつきがあります。プログラム的には終わったはずです!それとも私が間違っていますか?
ありがとうございました!
.net - WPFコントロールの再描画を防ぐことは可能ですか?
WPFコントロールの複数の子コントロールを更新する必要があります。すべての子コントロールを更新するまで、コントロールを再描画したくありません。
wpf - 画面がスリープから復帰した後、WPFアプリケーションウィンドウが完全に更新されない
今日、WPFアプリケーションの1つに少し奇妙な問題が見つかりましたが、その対処方法が正確にはわかりません。ラップトップの1つでソフトウェアを実行すると、ユーザーの操作がない場合、しばらくすると画面がスリープ状態になります(黒くなります)。アプリケーション自体は、インターネットからのデータのダウンロードとデータベースのテーブルへの入力でまだ忙しいです。プログレスバーとステータスバーもあります。
マウスを動かすだけで画面を復帰させると、プログラムは再び表示されますが、ウィンドウの一部が更新されません。プロセスが完了し、ステータスバーも間違っている場合でも、進行状況バーには値が表示されます。
この時点から、何も起こらなかったようにプログラムを操作できますが、進行状況バーとステータスバーは、タスクバーへのウィンドウ全体を最小化して再度最大化した場合にのみ再描画されます。または、プログレスバーまたはステータスバーも使用する別のアクションを開始した場合。
画面がスリープから復帰した後、表示されるデータが間違っているように見えるため、この奇妙な動作は多くの混乱を引き起こしました。実際に何が起こっているかを確認するには、ウィンドウを最小化および最大化する必要があります。
ここで何が問題になっていますか?
silverlight - ビューボックスのサイズ変更、Silverlightで描画されないアイテム
現在、Silverlightでレイアウトアプリを設計しており、Canvas
内部にがありViewbox
ます。キャンバスに図形を追加すると、それらが正しく表示されます。ビューボックスのサイズを変更して高さと幅の2倍にズームインしても、すべてが正しく描画されます。
4
問題は、1倍以上または0.5
(ズームアウト)でズームしようとすると発生します。
更新:水平線はまだそこにあり、描画されていません。他の形と消える形の間の相互作用はまだ存在しています
これを行うと、水平線は再描画されませんが、他の形状、他の垂直線は引き続き正常に再描画されます。オブジェクトはまだキャンバスの子であり、それらの可視性はすべて表示に設定されています。
何が起こっている?
非常に単純なXAMLを更新します。
図形を追加する方法は次のとおりです。
ズームインするには:
android - invalidateSelf() を使用したタイマーによる Drawable の再描画が機能しない
クラスにDrawableを実装しています。「まばたき」効果を得るには、定期的に再描画する必要があります。timer.schedule を使用して invalidateSelf() をスケジュールしていますが、何も起こりませんでした。
ログでは、次のように
なり
ます
。
): スケジュール
02-08 23:07:45.011: INFO/(258): 後ろから実行
02-08 23:07:45.021: INFO/(258): ドロー
02-08 23:07:45.021: INFO/(258 ): スケジュール
02-08 23:07:45.171: INFO/(258): 後ろから実行
02-08 23:07:45.171: INFO/(258): ドロー
02-08 23:07:45.171: INFO/(258 ): まばたき
02-08 23:07:45.171: INFO/(258): スケジュール
02-08 23:07:45.331: INFO/(258): 後ろから走る
なぜうまくいかなかったのですか?そのために別の方法を使用する必要がありますか?
cocoa - Cocoa: CALayer: ビューを継続的に再描画すると、割り当てられたメモリが継続的に増加します
メモリ割り当てに問題があります(とにかくリークしません)。
私のプログラムには、、 、およびを含むWindow
カスタムのカスタムがあります。1 秒ごとにusingの値をプログラムで更新するとします。View
TextField
ImageView
Shadow
TextField
[myTextField setStringValue:@"actual string"]
明らかに、TextField が変更されるたびに、ビューが再描画されます。
アクティビティ モニターを見ると、TextField が更新されるたびにビューが再描画され、割り当てられたメモリが増加することがわかります。ImageView は変更されるべきではありません。
で行をコメントすると(更新 4 を参照してください。)setStringValue
、プログラムはメモリをまったく増やすことなく実行されます。
Instruments
はメモリ リークや解放されていないオブジェクトを報告せず、View はautorelease
'd.
何が原因でしょうか?
アップデート
実際のコードの簡略版を投稿します。
.h
.m
クラスCustomTextField
はどこですか。NSTextField
追加するものが重要かどうかはわかりませんが、とにかく、カスタム ウィンドウ、カスタム ビュー、およびカスタム テキスト フィールドはinit
コード内でプログラムによって定義されており、インターフェイス ビルダーではインスタンス化されません。
更新 2
私は間違っていた!コメントしてもsetStringValue
、メモリはまだ増加します..はるかに少ないですが、それでも増加します..奇妙な事実は、いずれにせよ、インスツルメントが「生きているオブジェクト」のサイズを報告することです。これは一定のままであり、リークは報告されていません。
何が起こっている?
更新 3
Instruments のすばらしいヒープショット機能を使用した結果がこれです。
アクティビティ モニターで見られるメモリの増加 (数分後に数千キロバイトのオーダー) はどこから来たのですか?
更新 4
問題の原因はわかったと思いますが、解決できません。
ビューには、TextField、ImageView、および Shadow があります。グリッチなしで画面に正しく表示されるようにするために、 を追加しまし[view setWantsLayer:YES]
た。この行にコメントすると、メモリ割り当ての問題は確実に解決されます。
さて、そのコマンドを使用する必要がある限り、どうすればよいでしょうか? コア アニメーションに関連するものをリリースすることになっていますか? Core Animation に関連するコマンドは、上記の 1 つだけであることに注意してください。
javascript - 特定の JavaScript イベントで Firefox が白く点滅する
これは次の質問に似ています: ( firefox-making-white-flash-as-it-builds-the-page ) しかし、私の状況では、そのページはすでに完全に読み込まれているという違いがあります。
ページが完全にロードされた後、ページへの要素の追加をトリガーする特定の JavaScript イベントで、Firefox は白いフラッシュを生成します (ページ全体ではなく、要素が追加されている特定の div ではありません)。ページ (基本的に、コンテンツを追加している div の祖先に発生しますが、直接の祖先ではありません)。
私が追加している要素は水平スクロールの div にあるため、ページ幅がまったく変更されるわけではありません。また、一貫性がありません。要素を追加または削除すると、白いフラッシュがトリガーされる場合とそうでない場合があります。
これは、FF がページを再描画する方法に問題があるだけだと思います。
私の質問は少し曖昧かもしれませんが、誰かがこれを経験したことがあるか、何か提案があるかどうかはわかりませんでした. アドバイスをいただければ幸いです。
uiviewcontroller - UiScrollview によるページネーションと次のページのレンダリング
PhotoScroller の例に従って、ページネーションを使用して UIScrollView を実装しました。
しかし、私はそれをうまく機能させることができません。XIB をロードする viewController を使用します。ただし、ページをスクロールすると、ページが完全に表示されるまで実際には更新されません (したがって、完全に表示されるまで、データを含むレイアウトがレンダリングされないように見えます)。
Loadview にデータをロードします (このシナリオでは viewWillAppear が呼び出されないようです)。作成時にビュー全体をレンダリングして、スクロール中に表示する方法について何か提案はありますか? 私は途方に暮れており、ほとんどすべてを試したと思います(明らかな可能性を除いて)。
(編集:ロードされたビューは、スクロールバック時に呼び出すために可変辞書に保存され、正しく表示されます)
jquery - JQuery:スライダーを再描画する方法は?
Jquery Slider Pluginの変更に時間がかかりすぎて成功しなかったので、どうしてもあなたの助けが必要です。
私はこのスライダープラグインを使用しています:http://blog.egorkhmelev.com/2010/03/jquery-slider-update/
私がやろうとしているのは、クリックするとこのJQueryスライダーを再描画することです。ユーザーがクリックすると、新しいスケールとポインターの位置を持つ新しい設定が渡されます。再描画は部分的にのみ機能し、1つのポインタ位置とスケールのみを変更します。コード内の何かを見逃しているか、この問題を解決するのに十分なJqueryの知識がないに違いありません。
注意:再描画はこのプラグインにはまだ実装されていません。これは私が追加しようとしている新機能です。
公式サイトでも同じ質問をされている方も多いのですが、もうサポートがないようです。ですから、もしあなたが私がバグを見つけるのを手伝ってくれるなら、私はこの解決策を再びウェブ上で共有することを約束します。
大いに感謝する!ケルビン