消除线性布局 Android Studio 中图像之间的大间隙

发布于 2025-01-16 08:36:33 字数 1800 浏览 5 评论 0原文

我有一个程序将 imageView 添加到水平滚动视图内的线性布局,但每个图像最终之间都有很大的间隙。这看起来很糟糕,我想缩小它们之间的差距,让它们靠得更近。这是现在每个图像之间的差距有多大

这是当前间隙的大小

这是我将它们添加到布局中的代码。我尝试过更改图像视图的比例类型,但找不到修复它的方法。任何帮助将不胜感激。

    public void addPicturesToView(){
        LinearLayout pictureLayout = findViewById(R.id.qrImageLinearLayout);
        docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
            @Override
            public void onSuccess(DocumentSnapshot documentSnapshot) {
                List<String> imageList = (List<String>) documentSnapshot.get("Images");
                for(String imageString : imageList){
                   StorageReference storRef = storage.getReferenceFromUrl(imageString);
                    Task<byte[]> task = storRef.getBytes(1000000).addOnSuccessListener(new OnSuccessListener<byte[]>() {
                        @Override
                        public void onSuccess(byte[] imageBytes) {
                            Bitmap imageBitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
                            ImageView qrImage = new ImageView(QRcodeViewerActivity.this);
                            qrImage.setImageBitmap(imageBitmap);
                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                            qrImage.setLayoutParams(params);
                            pictureLayout.addView(qrImage);
                        }
                    });
                }
                return;
            }
        });
        return;
    }

I have a program that is adding imageViews to a linear layout within a horizontal scrollview, but each image ends up with a very large gap between each one. This looks terrible, and I want to reduce the gap between them, just so that they are closer together. This is how big the gap between each image is right now

This is the size of the current gap

Here is the code where I am adding them into the layout. I have tried changing the scaletype of the imageviews but I couldn't find a way to fix it. Any help would be appreciated.

    public void addPicturesToView(){
        LinearLayout pictureLayout = findViewById(R.id.qrImageLinearLayout);
        docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
            @Override
            public void onSuccess(DocumentSnapshot documentSnapshot) {
                List<String> imageList = (List<String>) documentSnapshot.get("Images");
                for(String imageString : imageList){
                   StorageReference storRef = storage.getReferenceFromUrl(imageString);
                    Task<byte[]> task = storRef.getBytes(1000000).addOnSuccessListener(new OnSuccessListener<byte[]>() {
                        @Override
                        public void onSuccess(byte[] imageBytes) {
                            Bitmap imageBitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
                            ImageView qrImage = new ImageView(QRcodeViewerActivity.this);
                            qrImage.setImageBitmap(imageBitmap);
                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                            qrImage.setLayoutParams(params);
                            pictureLayout.addView(qrImage);
                        }
                    });
                }
                return;
            }
        });
        return;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

从此见与不见 2025-01-23 08:36:33

我已经解决了这个问题,通过将 AdjustViewBounds 设置为 true 并添加填充,我能够使其看起来正确。

Bitmap imageBitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
                            ImageView qrImage = new ImageView(QRcodeViewerActivity.this);
                            qrImage.setImageBitmap(imageBitmap);
                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                            qrImage.setLayoutParams(params);
                            qrImage.setAdjustViewBounds(true);
                            qrImage.setPadding(5,0,5, 0);
                            pictureLayout.addView(qrImage);

输入图片此处描述

I have solved this issue, by setting AdjustViewBounds to true and adding padding I was able to make it look proper.

Bitmap imageBitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
                            ImageView qrImage = new ImageView(QRcodeViewerActivity.this);
                            qrImage.setImageBitmap(imageBitmap);
                            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
                            qrImage.setLayoutParams(params);
                            qrImage.setAdjustViewBounds(true);
                            qrImage.setPadding(5,0,5, 0);
                            pictureLayout.addView(qrImage);

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文