我似乎无法使这些图像视图正常工作。我不想动态创建一些图像视图,但我希望它们有一个来自xml的模板。
我的循环看起来如此:
LinearLayout layout = (LinearLayout) findViewById(R.id.mainLinearLayout);
for (int i=0; i<10; i++){
ImageView imgView = new ImageView(this);
imgView.setAdjustViewBounds(true);
imgView.setId(R.id.coverview1);
layout.addView(imgView);
Picasso.with(context).load("http://blah.com/image.jpg").into(imgView);
}
我正在创建一些图像,只是在其中放置一些临时图像,但似乎无法改变图像大小。
这是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainLinearLayout">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/coverview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
android:maxWidth="20dp"
android:layout_gravity="center_horizontal" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
根据以下答案的建议,我添加了他所说的内容,但现在无法更改比例类型。
imgView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imgView.setAdjustViewBounds(true);
但是图像仍然是容器的高度而不是拉伸。
答案 0 :(得分:2)
您需要为LayoutParams
赞添加ChildView
:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
yourCalculatedWidth, LayoutParams.FILL_PARENT);
params.gravity=Gravity.CENTER_HORIZONTAL;
imgView.setLayoutParams(params);