[解決済み] Androidのビットマップ画像のサイズをXMLで表示する
2023-06-02 03:51:50
質問
私のXMLファイルでは、以下のようにビットマップを使用しています。
<bitmap
android:src="@drawable/Icon"
android:gravity="center"/>
ここでは、アイコンの画像幅が画面を超えています。
android:width="100dp" とかを試してみました。しかし、うまくいきません。
完全なXMLファイルです。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<stroke android:width="3dp" android:color="@color/black" />
<solid android:color="@color/bg_green" />
</shape>
</item>
<item>
<bitmap
android:src="@drawable/Icon"
android:gravity="center"/>
</item>
</layer-list>
上記のビットマップの幅と高さを縮小するにはどうしたらよいでしょうか?
どのように解決するのですか?
から アンドロイド開発者 ビットマップXMLには、サイズを変更できるタグがありませんね。GIMP のようなグラフィック アプリケーションを使用してこれを行う必要があります。Kevin Cooper 氏がすでに述べているように、理想的には、さまざまな画面タイプに対して異なるリソース (異なるサイズ) のセットを作成する必要があります。
の width と height 属性を使ってサイズを変更することができます。
ImageView
で幅と高さを指定することで、サイズを変更することができます。
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="center"
android:src="@drawable/Icon" />
この画像を他の場所で再利用したい場合は、別のスタイルを作成して再利用することができます。
// in styles.xml
<style name="Icon24x24">
<item name="android:src">@drawable/Icon</item>
<item name="android:gravity">center</item>
<item name="android:layout_width">24dp</item>
<item name="android:layout_height">24dp</item>
</style>
// in layout.xml
<ImageView style="@style/Icon24x24"/>
再利用のもう一つの方法は、一つの
ImageView
のために別のレイアウトファイルを作成し、それを他のレイアウトに含めることです。
もし、この
bitmap
をレイヤーリストの中で使いたい場合は、 @Kevin Cooper の回答を参照してください。
layer list item
:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="20dp"
android:right="20dp">
<bitmap
android:src="@drawable/Icon"
android:gravity="center" />
</item>
</layer-list>
また、@Nicolo さんも指摘しているように、API 23 のフォームで
android:width
と
android:height"
をアイテムに追加します。
関連
-
[解決済み] DrawableをBitmapに変換する方法は?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
最新
-
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でマイナスマージンを使用するのは悪いことですか?
-
[解決済み] FloatingActionButtonのサンプルとサポートライブラリ
-
[解決済み] EclipseのAndroidプロジェクトにライブラリ/JARを追加する
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] WhatsAppでメッセージを送信する
-
[解決済み] アプリの起動時に白い画面が表示されるのですが、どうしたらいいですか?