3

これを持っているとします

<ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:background="@drawable/mylogo_250px60px"
/>

幅に応じてスケーリングするように高さを定義したいと思います。そのため、Android がロゴを幅で表示するようにスケーリングすることを決定した場合、高さも同様に増加する必要があります。

電話が垂直から水平に傾いたときにロゴが正しくスケーリングされるように、何かを定義することも可能ですか?

(基本的にロゴはメインアクティビティのリストビューの上にあります)

私もこれを使用してみましたが、うまくいきませんでした (幅に比べて高さがかなり低く見えます。画像はサイズ変更/高さ調整されていません)。

<ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:background="@drawable/mylogo_250px60px"
        android:layout_height="wrap_content"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"                                       
    />

Eclipse/ADT で設計すると、GUI ツールのロゴは 76 dp になり、2 台のテスト用携帯電話で見栄えがします。しかし、単純に画像を適切にスケーリングすることは可能だと思いますか?

「固定高さ」は、幅に対して正しい比率を持っています(電話が傾いているときではなく、垂直ビュー) ここに画像の説明を入力

「自動高さ」は、幅と比較して間違った比率で表示されます: ここに画像の説明を入力

4

3 に答える 3

11

イメージビューのコードを次のように変更します

 <ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/mylogo_250px60px"
        android:scaleType="fitEnd"
        android:adjustViewBounds="true"
    />
于 2013-04-12T08:40:29.447 に答える
1

これを試して:

<ImageView
        android:id="@+id/mainImageView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/mylogo_250px60px"
        android:scaleType="fitEnd"
        android:adjustViewBounds="true"
        />

その助けを願っています

于 2013-04-12T08:55:52.997 に答える
-1

これはうまくいきます:

<ImageView
    android:id="@+id/mainImageView"
    android:layout_width="wrap_content"
    android:background="@drawable/mylogo_250px60px"
    android:layout_height="wrap_content"                                      
/>

唯一の問題: ドローアブルは、少なくともその親と同じ幅でなければなりません。

レンダリングでは、ImageView がその親よりも広くなることはありません。

  • だから、幅にぴったり収まります
  • そして、それは比例を保ちます(wrap_contentのため)

私は通常、解像度が 1080x1092 (fullHD) の電話で計算します。

于 2015-01-15T17:21:11.650 に答える