[解決済み] Android ベクター描画可能アプリ:srcCompatで画像が表示されない。
2023-04-01 02:26:37
質問
android kitkatでベクター画像を表示するためにsupport libraryを使っています。エミュレータでアプリをテストすると、これらの画像が表示されません。私はandroid lollipop以上のために別のレイアウトを作り、それは完全に動作しました(私は私が使用しているためだと思う
src
属性の代わりに
srcCompat
以下は、サポートライブラリを使用しているコードです。
<LinearLayout android:layout_alignParentBottom="true"
android:id="@+id/lake_detail"
android:background="@drawable/my_fishing_plan_footer_line"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="90dp"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:layout_marginRight="3dp"
android:id="@+id/fire_logo"
android:layout_width="20sp"
android:layout_height="20sp">
<ImageView
android:tint="#d74313"
app:srcCompat="@drawable/circle_icon"
android:layout_width="30sp"
android:layout_height="30sp" />
<ImageView
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/lauzaviete"
android:layout_width="25dp"
android:layout_height="25dp" />
</RelativeLayout>
と表示され、android studioのプレビュー画面では画像が表示されるので不思議です。
どのように解決すればよいのでしょうか?
オリジナルの回答
使用方法
android.support.v7.widget.AppCompatImageView
の代わりに
ImageView
の代わりに、このようなレイアウトにします。
<LinearLayout
...
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.AppCompatImageView
android:tint="#d74313"
app:srcCompat="@drawable/circle_icon"
android:layout_width="30sp"
android:layout_height="30sp" />
<android.support.v7.widget.AppCompatImageView
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/lauzaviete"
android:layout_width="25dp"
android:layout_height="25dp" />
</LinearLayout>
を参照してください。
AppCompatImageView
ドキュメント
ここで
と
app:srcCompat
ここで
.
また、以下を必ず行ってください。
をセットアップする。
build.gradle
android {
defaultConfig {
vectorDrawables {
useSupportLibrary = true
}
}
}
あなたの
Activity
で
AppCompatActivity
public final class MainActivity extends AppCompatActivity {
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
を使用する場合
app:srcCompat
を使用する場合は、レイアウトに正しい宣言があることを確認してください。
<LinearLayout
...
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
...
</LinearLayout>
オプション(警告:docsを読んでください)。
setCompatVectorFromResourcesEnabled
の中に
Application
クラス
public class App extends Application {
@Override public void onCreate() {
super.onCreate();
// Make sure we use vector drawables
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
}
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] 深くネストされたスタックから離れるとき、Fragmentのバックスタックをクリーンアップする方法はこれで良いのでしょうか?
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] google-services.jsonって実際何してるの?
-
[解決済み] Android: xml リソースからの整数値
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] Android ConstraintLayout - あるビューを別のビューの上に配置する
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] キャンバスに複数行のテキストを描画する
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] proguard hell - 参照されているクラスが見つかりません。
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] Android APKファイルの中身を見るには?
-
[解決済み] 実行に失敗しました app:processDebugResources Android Studio