問題タブ [android-graphics]

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 投票する
1 に答える
59 参照

android - 同じ長方形を 2 回ペイントすると、見た目が異なります

カスタム ビューを使用していますが、一部の線が他の線よりも暗く見えることに気付きました。いろいろ調べた結果、それは感情ではなく現実であることがわかりました。それらを描画するコードは同じですが、複数回呼び出されます。一度呼び出された場合、線は薄い灰色になります。もう一度呼び出すと、線は濃い灰色になります。なんで?(Android 5.1 搭載の nexus 4)

これは一例です。右下のタイルはより暗いです。

例

更新:最初のdrawRoundRect担当者です。2 番目のものをコメントアウトしたので、それなしでこの動作を再現できます。しかし、正直なところ、2 回目の呼び出しで正しくレンダリングされます (濃い灰色)。しかし、最初の呼び出しで軽量化されるのはなぜでしょうか?

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

android - ズーム時に適切にスケーリングする方法と Android パス

パスを含むカスタム ビューをピンチしてズームしようとしています。パスはそれに応じてスケーリングする必要があります。

次のコードは、アプリがクラッシュして表示される臨界点にズームイン レベルが到達するまで正常に動作します。

A/libc: 致命的なシグナル 11 (SIGSEGV)、コード 2、tid 25828 の障害 addr 0xb88799c0 (RenderThread)

また、粉砕する前に次のように表示されます。

W/OpenGLRenderer: パスが大きすぎてテクスチャにレンダリングできません

パスをスケーリングする代わりに、キャンバスをスケーリングしてみました。これは問題なく機能しましたが、ズームインするとパス ラインが歪んでしまい、これは望ましくない動作です。

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

android - 円弧の上に丸みを帯びた中空の親指を描く

アプリからの値の範囲を表示する丸みを帯びたグラフを作成したいと考えています。値は、低、中、高の 3 つのカテゴリに分類できます。これらは、青、緑、赤 (それぞれ) の 3 つの色で表されます。

この範囲を超えると、実際に測定された値を、関連する範囲部分に「親指」の形で表示したいと思います。

添付写真をご覧ください

測定値に応じて、範囲アーク上の白い親指の位置が変わる場合があります。

現在、ビューの onDraw メソッド内で同じ中心に 3 つの円弧を描くことで、3 色の範囲を描くことができます。

そして、これは結果アークです:

現在のアーク

私の質問は、どうすればいいですか:

  1. これらの 3 色の間 に滑らかなグラデーションSweepGradientを作成します (使用してみましたが、正しい結果が得られませんでした)。
  2. 写真に示すように、オーバーレイの白いつまみを作成して、表示する場所を制御できるようにします。

  3. この白い親指を範囲の弧の上でアニメーション化します

注: 3 色の範囲は静的です。つまり、別の解決策として、drawable を取得してその上に白い親指をペイントする (そしてアニメーション化する) ことができるので、そのような解決策も聞くことができます :)

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

java - Android には、正しく機能しないアークのメソッドが含まれています

次のようなカスタム ビュー コントロールがあります。

ここに画像の説明を入力

アクティビティ内で、このビューを緑色のアークにドラッグして画面上で移動できるようにしたいと考えています (左右は関係ありません)。

また、上部の黄色の円弧がタップされているかどうか、中央の円または下部の円弧を検出できるようにしたいと考えています。

タップがどのエリアのどこにあるかを検出するのに苦労しています。これは、アクティビティ内で使用しているコードです。

そして、これらはカスタム ビュー コントロールのパブリック フィールドです。

しかし、この「含む」メソッドでチェックすると、円弧ではなく、これらの領域に長方形の形状を使用しているように見えます。そのため、期待した結果が得られません。

では、アプリ ロジックを適用するために、最初のタップ (トップ アーク、ボトム アーク、サイド アーク、またはミドル ビットマップ) を検出するにはどうすればよいでしょうか?

0 投票する
0 に答える
961 参照

android - エラー: シンボル クラス GraphViewSeries が見つかりません

GraphView を使用して単純なグラフを描画しようとしていますが、コンパイル エラーが発生します:「シンボル クラス GraphViewSeries が見つかりません」。「import com.jjoe64.graphview.GraphViewSeries;」も追加してみました。しかし、同じエラーが発生します。このエラーの解決にご協力ください。

build.gradle ファイル:

コード:

}

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

android - Android: 座標に基づいてマップ上にプレイヤー アイコンを表示する

背景として表示するマップの画像 (固定サイズ) があり、その上にプレイヤー アイコンを表示したいと考えています。プレイヤーの現在の座標を android.graphic.Point として取得しています。

マージンを設定して RelativeLayout を試してみましたが、うまくいきましたが、ディスプレイを回転させると、アイコンが明らかに別の場所に移動します。また、この絶対配置は異なる画面サイズでは機能しないと思います...

意図したとおりにこれを行う方法について何か提案はありますか?

これは私のXMLです

そして、これは私がプレーヤーアイコンを(再)配置する方法です