0

ImageViews を水平 LinearLayout に追加しようとしています。これらは同じスペースを占めるはずなので、これらの ImageView の重みを 1 に設定しました。期待どおりに配置されましたが、画像が引き伸ばされました。scapeType を中央に設定しています。センタースケールタイプによると、それらはストレッチされるべきではありませんが、ストレッチされており、これは私の問題です. 私のImageView:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="3"
    android:scaleType="centerInside"
    android:adjustViewBounds="true"/>

これは私がそれらを追加する場所です:

    for (int i = 0; i < badges.size() && i < 4; i++) {
                Badge currentBadge = badges.get(i);
                ImageView view = (ImageView) inflater.inflate(R.layout.listitem_badge,
                        mBadgesContainer, false);
                view.setBackgroundResource(R.drawable.dummy_badge_medic);
                mBadgesContainer.addView(view);
            }

LinearLayout:

   <LinearLayout
    android:id="@+id/container_badges"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/title_badges"
    android:orientation="horizontal" />
4

2 に答える 2

2

の背景を設定しているので、ImageView小さな画像があるかもしれませんdrawable

設定してみてくださいsrc view.setImageResource(R.drawable.dummy_badge_medic);

于 2013-03-16T19:13:18.097 に答える
0

このプロパティandroid:scaleType="centerInside"は、背景ではなく画像リソースに対してのみ機能します。MAC(https://stackoverflow.com/users/1289716/mac)から提供されたコードを試してください。

于 2013-03-16T19:29:04.843 に答える