問題タブ [android-vectordrawable]

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

android - 古いバージョンの Android Studio は、VectorDrawable から Drawable を生成しません

私は Android Studio 2.0 とサポートVectorDrawableライブラリを使用しています。私のグラドル:

しかし、古いデバイスのメニューにアイコンをロードしようとすると:

アイコンはベクターですが、AndroidStudio は古いバージョン用に生成して描画可能にする必要があります (ラスター描画可能)。そうでない場合、いつどのように使用する必要がありますか?
ベクトルの例ic_labels_gray_24dp.xml

PS簡単なクラスを書きました。Android Studio のバグは修正されませんが、少なくともアプリはクラッシュしません。たぶん、他の誰かが同じ問題を抱えています。

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

android - VectorDrawableのアスペクト比を維持するには?

Splash Screens the Right Way |で説明されているように、Androidアプリのスプラッシュスクリーンを作成しようとしています 。スタイルのあるビッグ ナード ランチ

background_splash は次のようになります

そして、sparrow.xml は次のようになります

ただし、私が見ている問題は、幅と高さのプロパティで定義されている 1:1 の縦横比がvector、デバイスの画面に表示されたときに維持されないことです。たとえば、android studio では次のように円が表示されます。

アンドロイドスタジオで

ただし、上の画像は、利用可能なすべての高さを引き継ぐため、デバイスでは次のように表示されます。

デバイス上

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

android - プログラムでサポート ベクターに色を付ける

Android Studio バージョン 2.1、gradle バージョン 2.1.0、誤解を見つけたら訂正してください :)

サポート ライブラリ 23.3.0 のサポート ベクターについて混乱しています。具体的には、srcが定義されている画像ボタンをプログラムで着色することです。これは、ベクタードローアブルです。私が言えることから、これは今のプレロリポップでは不可能です.

変更に関するいくつかの関連記事を読みました: 23.2.0 の発表と変更:

Android サポート ライブラリ 23.3.0 の時点で、サポート ベクター ドローアブルは app:srcCompat または setImageResource() を介してのみロードできます。

上記は、ベクトル xml は srcCompat または setImageResource() を介して Lollipop より前にのみ使用できるため、動的に着色できないことを意味しますか?

これが私の基本的な画像ボタンです:

Lollipop 以降でのみ動作:

このロリポップ前のスローを試みると、次のようになります。 android.content.res.Resources$NotFoundException: File res/drawable/ic_exit_to_app_24dp.xml from drawable resource ID #0x7f0200bf

また、Lollipop 以降でのみ動作します

これにより、Lollipop の前に同じエラーがスローされます。

ただし、ここで Ian LakevectorDrawables.useSupportLibrary = trueが指摘したように削除すると、ビルド ツールが Lollipop 以前のデバイス用に png を自動生成することを意図して、png は pre-lollipopで色付けされないため、スクエア 1 に戻ります。

また、ベクターを経由して指定し、プログラムで取得しようとしましたが、代わりにsrcCompat使用してベクターを指定した場合、ポストロリポップで動作しますが、それを達成できたとは思いません。src

したがって、23.3.0 の状況は次のようになります。

  • Post-Lollipop:ベクトルsrcsrcCompat受け入れ、srcプログラムで着色するためのドローアブルとしてのみビューから取得できます。getDrawable を使用してコード内でベクトルを参照することが可能で、着色することができます。

  • Lollipop 導入前: srcCompat はベクトルのみを受け入れることができ、着色のためにビューからプログラムで取得することはできません。 setImageResourceはベクトルを受け入れることができますが、 の場合のみvectorDrawables.useSupportLibrary = falseで、色合いが機能しません 同様に、色付けが機能しない場合を除き、コード内でベクトルを参照することはできvectorDrawables.useSupportLibrary = falseません。

PNGを使用してすべてのバージョンに取り組んでいます:

補遺:

この手法はロリポップ後でも機能しますが、ロリポップ前の他の手法と同様に、ドローアブルを取得しますが、色付けは行いません。

解決策の種類:

ジョンの答えのおかげで、これまでのところ、サポートベクターに色を付けるために思いつくことができる唯一の確実な方法は、カラーフィルターを設定することです。これはDrawableCompat.setTint()、問題のドローアブルがサポートベクターである場合、関数が機能していないように見えることを意味します. これが正当なバグなのか、予想される動作なのか、それとも私が何か間違ったことをしているだけなのかはわかりません!

これが私が今のところ行っている解決策です:

0 投票する
11 に答える
49839 参照

android - Vector Asset Studio で SVG の読み込みに失敗するのはなぜですか

以下の SVG は、Android Studio の Vector Asset Studio で開くことができず、エラーが発生します。

「空のプレビュー画像です! TareSymbol.svg の解析中に例外が発生しました: 入力文字列の場合: "8.7337904mm"XML ファイルの解析中に例外が発生しました: ファイルの終わりが早すぎました。」

次の SVG ファイルが Vector Asset Studio と互換性がないのはなぜですか?

ここに画像の説明を入力

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

android - アプリのロゴとして描画可能なベクトル

マニフェスト ファイルでアプリのロゴとしてベクター ドローアブルを使用できますか?

アプリのロゴにそのようなドローアブルを使用していますが、完全に機能します。

しかし、アプリのリリース バージョンを Playstore にアップロードしようとすると、Invalid Logoというエラーが表示されます。

アプリのロゴとしてベクター型のドローアブルを使用しているためです。アプリのロゴにドローアブルを使用できませんか? できる場合はどうすればよいでしょうか (ベクター ドローアブルは、ミップマップではなくドローアブル フォルダーに格納されるため)。

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

java - プログラムで Vector Drawable のグループ パラメータを設定するにはどうすればよいですか?

アプリの入力に応じて回転させたいベクター ドローアブルがあります。

vector_drawable.xml があります

私のコードでは、ValueAnimator を作成します

animatorUpdateListener は次のように定義されています。

私の onDraw メソッドで、次に呼び出します

キャンバスを回転する代わりに、vector_drawable.xmlandroid:rotation内のパラメーターを変更するにはどうすればよいですか?rotation_group

本当にありがとう!

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

android - appCompat ライブラリ バージョン 23.3.0 を使用した後でも、API レベル 15 でベクター ドローアブルが表示されない

API レベル 15 の ImageView でベクター ドローアブルを使用しています。Gradle で AppCompat ライブラリ バージョン「appcompat-v7:23.3.0」を使用しています。これにより、下位 API レベルの SVG がサポートされます。

ImageView の XML は次のとおりです。

これは、drawable フォルダー内の check.xml です。

ImageView はまったく表示されていません。誰でも私がやっている間違いを教えてください。