問題タブ [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.
android - 古いバージョンの Android Studio は、VectorDrawable から Drawable を生成しません
私は Android Studio 2.0 とサポートVectorDrawable
ライブラリを使用しています。私のグラドル:
しかし、古いデバイスのメニューにアイコンをロードしようとすると:
アイコンはベクターですが、AndroidStudio は古いバージョン用に生成して描画可能にする必要があります (ラスター描画可能)。そうでない場合、いつどのように使用する必要がありますか?
ベクトルの例ic_labels_gray_24dp.xml
PS簡単なクラスを書きました。Android Studio のバグは修正されませんが、少なくともアプリはクラッシュしません。たぶん、他の誰かが同じ問題を抱えています。
android - VectorDrawableのアスペクト比を維持するには?
Splash Screens the Right Way |で説明されているように、Androidアプリのスプラッシュスクリーンを作成しようとしています 。スタイルのあるビッグ ナード ランチ
background_splash は次のようになります
そして、sparrow.xml は次のようになります
ただし、私が見ている問題は、幅と高さのプロパティで定義されている 1:1 の縦横比がvector
、デバイスの画面に表示されたときに維持されないことです。たとえば、android studio では次のように円が表示されます。
ただし、上の画像は、利用可能なすべての高さを引き継ぐため、デバイスでは次のように表示されます。
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:ベクトル
src
をsrcCompat
受け入れ、src
プログラムで着色するためのドローアブルとしてのみビューから取得できます。getDrawable を使用してコード内でベクトルを参照することが可能で、着色することができます。Lollipop 導入前: srcCompat はベクトルのみを受け入れることができ、着色のためにビューからプログラムで取得することはできません。
setImageResource
はベクトルを受け入れることができますが、 の場合のみvectorDrawables.useSupportLibrary = false
で、色合いが機能しません 同様に、色付けが機能しない場合を除き、コード内でベクトルを参照することはできvectorDrawables.useSupportLibrary = false
ません。
PNGを使用してすべてのバージョンに取り組んでいます:
補遺:
この手法はロリポップ後でも機能しますが、ロリポップ前の他の手法と同様に、ドローアブルを取得しますが、色付けは行いません。
解決策の種類:
ジョンの答えのおかげで、これまでのところ、サポートベクターに色を付けるために思いつくことができる唯一の確実な方法は、カラーフィルターを設定することです。これはDrawableCompat.setTint()
、問題のドローアブルがサポートベクターである場合、関数が機能していないように見えることを意味します. これが正当なバグなのか、予想される動作なのか、それとも私が何か間違ったことをしているだけなのかはわかりません!
これが私が今のところ行っている解決策です:
android - アプリのロゴとして描画可能なベクトル
マニフェスト ファイルでアプリのロゴとしてベクター ドローアブルを使用できますか?
アプリのロゴにそのようなドローアブルを使用していますが、完全に機能します。
しかし、アプリのリリース バージョンを Playstore にアップロードしようとすると、Invalid Logoというエラーが表示されます。
アプリのロゴとしてベクター型のドローアブルを使用しているためです。アプリのロゴにドローアブルを使用できませんか? できる場合はどうすればよいでしょうか (ベクター ドローアブルは、ミップマップではなくドローアブル フォルダーに格納されるため)。
java - プログラムで Vector Drawable のグループ パラメータを設定するにはどうすればよいですか?
アプリの入力に応じて回転させたいベクター ドローアブルがあります。
vector_drawable.xml があります
私のコードでは、ValueAnimator を作成します
animatorUpdateListener は次のように定義されています。
私の onDraw メソッドで、次に呼び出します
キャンバスを回転する代わりに、vector_drawable.xmlandroid:rotation
内のパラメーターを変更するにはどうすればよいですか?rotation_group
本当にありがとう!
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 はまったく表示されていません。誰でも私がやっている間違いを教えてください。