我尝试将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" />
答案 0 :(得分:2)
因为您要设置ImageView
的背景,并且drawable
尝试设置src
view.setImageResource(R.drawable.dummy_badge_medic);
答案 1 :(得分:0)
属性android:scaleType="centerInside"
仅适用于不适用于背景的图像资源。
所以尝试MAC(https://stackoverflow.com/users/1289716/mac)给出的代码。