Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 水平滚动视图中的可用空间_Java_Android_Android Layout - Fatal编程技术网

Java 水平滚动视图中的可用空间

Java 水平滚动视图中的可用空间,java,android,android-layout,Java,Android,Android Layout,我在水平滚动视图中有一个线性布局,我想在其中动态显示图像。这是我的代码: if(imgs.size()!=0){ 对于(int i=0;i=Build.VERSION\u code.LOLLIPOP){ 图像。设置高程(15); } image.setLayoutParams(lp); requestLayout(); } } } 和布局代码: 这就是结果: 我不想要滚动视图中的可用空间您正在将滚动视图高度设置为220dp,但将ImageView图像的高度和宽度设置为MATCH\u

我在水平滚动视图中有一个线性布局,我想在其中动态显示图像。这是我的代码:

if(imgs.size()!=0){
对于(int i=0;i=Build.VERSION\u code.LOLLIPOP){
图像。设置高程(15);
}
image.setLayoutParams(lp);
requestLayout();
}
}
}
和布局代码:


这就是结果:


我不想要滚动视图中的可用空间

您正在将滚动视图高度设置为220dp,但将
ImageView图像的高度和宽度设置为
MATCH\u PARENT

Android在默认情况下保留ImageView纵横比,因此它填充高度,但无法填充宽度,因此无法填充可用空间。

您可以使用
setBackground
(但不能直接使用
Bitmap
)或删除高度限制,或设置
image.setScaleType(ImageView.ScaleType.FIT_XY)(将拉伸图像)

您正在将滚动视图高度设置为220dp,但将
ImageView图像的高度和宽度设置为
MATCH\u PARENT

Android在默认情况下保留ImageView纵横比,因此它填充高度,但无法填充宽度,因此无法填充可用空间。

您可以使用
setBackground
(但不能直接使用
Bitmap
)或删除高度限制,或设置
image.setScaleType(ImageView.ScaleType.FIT_XY)(将拉伸图像)

发布布局代码…抱歉。post edited@SagiLowPost布局代码…抱歉。后期编辑@SagiLowi无法使用setbackground,因为可能有些药物的图片超过1张,无法删除滚动视图高度。那么我该怎么办呢?我写了另一个选项(
image.setScaleType(ImageView.ScaleType.FIT_XY);
),但是图像的纵横比不会被保留。你也可以将重心设置为中心,这样在一些图像上会有空间,但是图像会居中。但是我不能更改纵横比。没有办法解决这个问题?这感觉不太好,我想你也可以匹配宽度,让高度裁剪。恐怕这些都是你的选择,我的朋友。你不可能拥有全部……谢谢,我又耍了一个花招。你知道海拔高度吗?图像没有阴影我无法使用setbackground,因为可能有些药物有超过1张图片,无法删除滚动视图高度。那么我该怎么办呢?我写了另一个选项(
image.setScaleType(ImageView.ScaleType.FIT_XY);
),但是图像的纵横比不会被保留。你也可以将重心设置为中心,这样在一些图像上会有空间,但是图像会居中。但是我不能更改纵横比。没有办法解决这个问题?这感觉不太好,我想你也可以匹配宽度,让高度裁剪。恐怕这些都是你的选择,我的朋友。你不可能拥有全部……谢谢,我又耍了一个花招。你知道海拔高度吗?图像没有阴影
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>