[解決済み】Android Studioでベクターアセットの塗りつぶし色を変更する。
2022-04-12 21:46:03
質問
Android Studioは21+でベクターアセットをサポートし、コンパイル時に下位バージョン用のpngを生成するようになりました。 ベクターアセット(Material Iconsから)を持っていて、塗りつぶしの色を変えたいと思っています。 これは21+で動作しますが、生成されたpngは色を変更しません。 これを行う方法はあるのでしょうか?
<vector android:height="48dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@color/primary" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
解決方法は?
ベクターアセットを直接編集しない。ImageButtonでベクターのdrawableを使っている場合は、色を選ぶだけでよい。
android:tint
.
<ImageButton
android:layout_width="48dp"
android:layout_height="48dp"
android:id="@+id/button"
android:src="@drawable/ic_more_vert_24dp"
android:tint="@color/primary" />
関連
-
GIF、Lottie、SVGA
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
[解決済み] Android Studioでパッケージ名を変更する
-
[解決済み] Android Studioの「assets」フォルダはどこに配置すればいいですか?
-
[解決済み] Android StudioのGradleとは?
-
[解決済み] Android Studioプロジェクトの.gitignoreには何を入れるべきですか?
-
[解決済み] Android Studio for Operation Systemsでのコード書式設定ショートカット
-
[解決済み] Android Studioにライブラリプロジェクトを追加する方法を教えてください。
-
[解決済み] Android Studio - Android SDKのパスを変更する方法
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
AndroidがMainActivityが包含クラスでないというエラーを報告する
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
例外「指定された子にはすでに親がいます」の解決方法。removeViewを呼び出す必要があります" の解決方法(ソースコード付き例)
-
エラー:未宣言の識別子(AS)の使用
-
GoogleMapと連携し、位置情報の取得が可能
-
view.getRootView()の本当の意味とテストについて
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない