我在数组中有一些图片链接,我通过为数组中的每个图片创建一个ImageView并将其放在LinearLayout中来显示它。如果阵列中只有一个或两个图片,这似乎有效,但是当图片超过两张时图片会被切断。此外,我还想以原始尺寸显示图像。
XML代码:
<LinearLayout
android:id="@+id/child_2_5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="3dp"
android:orientation="horizontal"
android:layout_below="@+id/child_2_4">
</LinearLayout>
MainActivity.java代码:
LinearLayout layout = (LinearLayout) findViewById(R.id.child_2_5);
for(int i=0; i<values1.length; i++) {
ImageView image = new ImageView(this);
image.setLayoutParams(new android.view.ViewGroup.LayoutParams(450,450));
Glide.with(Main2Activity.this).load(values1[i]).into(image); // I am using Glide to display images
layout.addView(image);
}
此处values1 = [https://drive.google.com/uc?export=view&id=0B6uiOVPlyIu-dnlFdTlZQ1lFNDA, https://drive.google.com/uc?export=view&id=0B6uiOVPlyIu-bUI1ZV9wY0R3cTQ, https://drive.google.com/uc?export=view&id=0B6uiOVPlyIu-WFpXeWVlZ01zX2c]
正如您所看到的那样,边缘正在切割并且图片不是原始大小。
答案 0 :(得分:0)
您可以将ScaleType属性用于imageview。
这是scaletype列表 https://developer.android.com/reference/android/widget/ImageView.ScaleType.html
在xml中设置scaletype
<ImageView
android:id="@+id/imgView"
android:layout_width="150dp"
android:layout_height="150dp"
android:scaleType="centerInside"/>
以编程方式设置Scalatype
imgView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
使用Glide设置scaletype
使用滑行可以使用 centerCrop 或 fitCenter 。
Glide.with(Main2Activity.this).load(values1[i]).fitCenter().into(image);
有关滑翔图像缩放的更多信息,请查看此内容 https://futurestud.io/tutorials/glide-image-resizing-scaling