我的水平滚动视图中有一个线性布局,我想在其中动态显示图像。这是我的代码:
if (imgs.size() != 0) {
for (int i = 0; i < imgs.size(); i++) {
File imgFile = new File(Environment.getExternalStorageDirectory()
+ "/shafa/"
+ imgs.get(i)
.replace(" ", "+")
.replace(".jpg", "")
.replace(".JPG", "")
.replace(".png", ""));
if (imgFile.exists()) {
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
textview9.setVisibility(View.GONE);
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView image = new ImageView(DrugActivity.this);
image.setImageBitmap(myBitmap);
imgslayout.addView(image);
imgslayout.setGravity(0);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
image.setElevation(15);
}
image.setLayoutParams(lp);
image.requestLayout();
}
}
}
布局代码:
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="220dp"
android:background="@color/blue"
android:fillViewport="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/imgslayout"
android:padding="10dp">
</LinearLayout>
</HorizontalScrollView>
这就是结果:
我不希望滚动视图中的可用空间
答案 0 :(得分:0)
您要将滚动视图高度设置为220dp,但设置ImageView image
高度&amp;宽度为MATCH_PARENT
。
Android默认保持ImageView宽高比,因此它填充高度但不能填充宽度,因此可以填充空闲空间
您可以使用setBackground
(但不能直接使用Bitmap
)或删除高度限制,或设置image.setScaleType(ImageView.ScaleType.FIT_XY);
(这将拉伸图像)