問題タブ [drawable]

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

android - Android: ImageView で png 画像を表示できません

ImageView を含む Android アプリを作成しています。ビューに含まれるイメージは、エミュレーターのローカル アプリ ディレクトリにあります。画像がビューに表示されていません。画像を表示するために使用される関連する XML とメソッドを以下に示します。

画像ファイルは「png」形式のファイルで、ローカルのアプリ ディレクトリから開くことができます。getFilesDir() によって返されるパスには、フル パス「/data/data/net.vitalrecord.android/files」が含まれます。このパス指定は開発システムには存在しませんが、DDMS ファイル エクスプローラーを使用する場合には存在します。

この問題に関するヘルプは大歓迎です。

ありがとう。

レイアウト XML:

メソッド: public void checkFilesExists() {

0 投票する
6 に答える
83631 参照

android - URLからのAndroid描画可能画像

現在、次のコードを使用して、描画可能なオブジェクトがURLを形成するときに画像を読み込みます。

このコードは希望どおりに機能しますが、互換性の問題があるようです。バージョン1.5ではFileNotFoundException、URLを指定するとがスローされます。2.2では、まったく同じURLを指定すると、正常に機能します。次のURLは、私がこの関数に与えている入力例です。

URLから全面的に互換性のある方法で画像を読み込むにはどうすればよいですか?

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

android - Android でアクティビティ外のリソースを開く

context.getResources().getString(R.drawable.myimage) の結果をアクティビティではない別のクラスに渡して、リソースを開こうとしています。context.getResources().getString(R.drawable.myimage) は res/drawable-mdpi/myimage.png を返しますが、このファイルを開こうとすると、FileNotFoundException がスローされます。

アクティビティの外でリソースを開く適切な方法は何ですか?

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

android - Android: アプリ マニフェストでライブラリ ドローアブルを参照する方法

無料 (広告あり) と有料 (広告なし) として配布したい無料の Android アプリがあるので、唯一の違いはいくつかのレイアウト ファイルで、有料版では広告を削除するだけです。

すべてのコードを既存の無料アプリからライブラリ プロジェクトとして設定した新しいプロジェクトに移動しようとしましたが、アプリ プロジェクトからライブラリ プロジェクトを参照しています。マニフェスト ファイル内。

私がやりたいことは、このライブラリ プロジェクト内に無料アプリを完全に含め、ライブラリを参照する 2 つの新しいアプリ プロジェクトを作成し、有料アプリのレイアウト ファイルを変更して広告を削除することです。

有料アプリ バージョンに取り組んでいますが、マニフェスト ファイルでアプリ アイコンのドローアブルを参照する方法がわかりません。

私はこれについてすべて間違っていますか?助けていただければ幸いです。

0 投票する
4 に答える
7037 参照

android - カスタム OverlayItem が描画されない

カスタム OverlayItem クラスを作成して、渡したデータの状態に応じて Drawable マーカーが自動的に設定される 1 種類の OverlayItem を基本的に持つことができるようにしました。

setMarker私は、OverlayItem クラス内のメソッドを利用して、最初の試みでこれを達成しようとしました。それが機能しない場合は、メソッドをオーバーライドしてgetMarker、データを表す適切なマーカーを返すようにします。

これらの試みは両方とも、マップ上に何も描画されずに終了しました...ただし、コメントアウトされている場合、マーカーは問題なく描画されます(もちろん、デフォルトのマーカーを使用しますが、これは私が望んでいるものではありません)。

これが私のカスタム OverlayItem クラスのコードです (私が試したコメントアウトされたメソッドは機能しませんでした):

私がやろうとしていることを行う方法はありますか...または、データの各状態に対応する一意のOverlayItemクラスを作成する必要がありますか? (Ew.)

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

android - 1 つの xml ファイルからの複数のドローアブル

アプリケーションで多数の ShapeDrawables を使用したいのですが、それらはすべて似ていますが、色などが異なります。明らかに、それらをすべて個別の xml ファイルで定義することもできますが、1 つの xml 定義を作成し、さまざまなインスタンスを作成するより効率的な方法はありますか?コードまたはxmlで色を変更しますか? おそらく、xml で定義された 1 つの ShapeDrawable で mutate() を呼び出すことでこれを行うことができますが、これはシェイプ ドローアブルではなく、ドローアブルを返します。

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

android - ドローアブルの 50% しか描画されないのはなぜですか?

画面がタッチされた場所にpngグラフィックを描画する簡単なアプリケーションを作成しようとしました。私が抱えている問題は、追加したグラフィックの他のすべてのインスタンスのみが実際にレンダリングされることです。新しいインスタンスを追加するたびに、パターンが交互になります。私は常にレンダリングされたグラフィックスの 50% しか取得しません。

HTC Hero で Android レベル 3 を使用しています。

問題をもう少し説明すると、これはサーフェス ホルダー コールバックから呼び出している描画メソッドです。

5 行目と 6 行目をコメント アウトすると (図のように)、2 行目と 4 行目だけが表示されます。5 行目を追加すると、1、3、5 行目が表示されます。最後に 6 行目を追加すると、2、4、6 行目が表示されます。

これはなぜでしょうか?

アプリケーションの残りの部分をより詳細に説明します。次のレイアウト xml があります。

つまり、png グラフィックを描画する単一のサーフェス ビューがあります。

私のアクティビティは SurfaceHolder.Callback を実装し、次のように初期化します。

つまり、呼び出しをチェーンし、R クラスを使用してコンテンツ ビューを設定します。次に、サーフェス ビューへの参照を取得し、アクティビティをサーフェス ホルダー コールバックとして登録します。

アイコンを画面に描画するメソッドがあります。これです:

つまり、キャンバスをロックし、ドローアブル png リソースを取得し、境界を設定し (念のため mutate を使用)、ドローアブルにキャンバス上に自分自身を描画するように要求します。サーフェスが作成されていない限り、描画しないことに注意してください。

私はここで本当に困惑しています。

すべての助けに感謝します。

ps 完全なリストは次のとおりです。

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

android - Android: アプリケーションでスクロールバー ドローアブルをオーバーライドする

アプリケーションでスクロールバー ドローアブルを置き換える方法はありますか (つまり、Android フレームワークに付属するデフォルトの灰色のスクロールバーの代わりに使用したいカスタマイズされたスクロールバー ビューがあります)。私はすべてのAndroid属性を調べましたが、それをサポートしているようには見えません(少なくとも、ドローアブルをAndroid属性に設定する方法を知っている最も簡単な方法です)。

そうではなく、フレームワークの変更が必要だと言う場合、(フレームワーク内の) どこから探し始めますか?

ありがとう

MB

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

android - Canvas.DrawCircle VS ShapeDrawable.setBounds()

キャンバスに円を描くためのより効率的な方法は何ですか。

私はそれを2つの方法で行うことができます:

  1. 使用するcanvas.drawcircle(...)
  2. ShapeDrawable.SetBounds()に続くShapeDrawable.draw(canvas)

何がより速くレンダリングされますか? より良い練習は何ですか?それとも関係ありませんか?

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

android - Android プロジェクトでリソースの重複を避ける

drawable フォルダーにいくつかの画像があり、drawable-land に横長のバージョンがあります。ただし、別の名前でファイルを複製するのはもったいないので、いくつかの風景画像を共有してもらいたいと思います。スペースの浪費を防ぐために、複製されたファイルの1つにシンボリックリンク(ショートカット)または何かを作成することは可能ですか

私は自分自身を説明するのが得意ではないので、以下のフォルダの説明: