1

AndroidでSVGインポート画像を使用していますが、ImageViewを使用してサイズを変更できません。画像は次のようになります。

ここに画像の説明を入力

インポートされたドローアブルは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="208dp"
android:height="208dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
    android:fillColor="#8A1D3043"
    android:pathData="...lines and curves..."/>
</vector>

ImageView (アタッチされている場所) の layout_height と layout_width を変更すると、次のようになります。

        <ImageView
        android:layout_height="100dp"
        android:layout_width="100dp"
        app:layout_width="@{smallScreen ? @dimen/img_small_screen_size : @dimen/img_big_screen_size}"
        app:layout_height="@{smallScreen ? @dimen/img_small_screen_size : @dimen/img_big_screen_size}"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@{message}"
        android:src="@{image}"
        android:scaleType="center"
        tools:src="@drawable/img_message_private"/>

ここに画像の説明を入力

ベクトルの高さと幅は両方とも 208 dp ですが、ImageView は 100 dp として使用する必要があることに注意してください。ビューはdataBindを使用して動的にサイズ変更する必要があるため、複数のベクトルを持つことはオプションではないと思います。

どうやら、画像は ImageView で拡大縮小されません。誰かがそれを簡単に回避する理由と方法を知っていますか?

4

2 に答える 2

0

私も同じ問題を抱えていました。

元の SVG がある場合。同じものを Inkspace (またはその他のベクター エディター) で開きます。

[ファイル] -> [ドキュメント プロパティ] に移動し、[ページをコンテンツに合わせてサイズ変更...] を展開し、[ページを図面または選択範囲に合わせてサイズ変更] をクリックします。

ウィンドウを閉じて、SVG を保存します。

Vector ツールを使用して Android にインポートし、任意の幅と高さを使用します。画像ビューの幅と高さを取ります。また、スケール タイプを FitXY に変更することを忘れないでください。

于 2019-04-01T09:19:54.053 に答える