Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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_Imageview_Android Linearlayout - Fatal编程技术网

Java 删除线性布局中儿童之间的空间

Java 删除线性布局中儿童之间的空间,java,android,android-layout,imageview,android-linearlayout,Java,Android,Android Layout,Imageview,Android Linearlayout,我开发一款Android游戏是为了好玩,但我不能在线性布局中删除图像视图之间的空间。 这些布局中没有定义数量的ImageView,这就是我不处理XML文件的原因。 因此,我在Java代码中创建了每个ImageView,并将它们添加到布局中。 但它们之间都有空白:(蓝色/红色/绿色方块是图像视图)。 我从一个GridLayout开始做这件事,但是我不能删除那个空白,所以我尝试用一些LinearLayout(水平)到另一个LinearLayout(垂直) 我尝试了很多方法,比如将边距和填充设置为0,

我开发一款Android游戏是为了好玩,但我不能在线性布局中删除图像视图之间的空间。 这些布局中没有定义数量的ImageView,这就是我不处理XML文件的原因。 因此,我在Java代码中创建了每个ImageView,并将它们添加到布局中。 但它们之间都有空白:(蓝色/红色/绿色方块是图像视图)。 我从一个GridLayout开始做这件事,但是我不能删除那个空白,所以我尝试用一些LinearLayout(水平)到另一个LinearLayout(垂直)

我尝试了很多方法,比如将边距和填充设置为0,创建一个LayoutParams来删除它们,等等。。但它不起作用

谢谢大家!

编辑:这是我的代码

iv = new ImageView[cm.getNbRow()][cm.getNbColumn()];    //cm is the map object

LinearLayout[] linearTab = new LinearLayout[cm.getNbColumn()];
for(int i=0; i<cm.getNbRow(); i++) {
    linearTab[i] = new LinearLayout(this);
    linearTab[i].setOrientation(LinearLayout.HORIZONTAL);
}

for(int i=0; i<cm.getNbRow(); i++) {
    for(int ii = 0; ii < cm.getNbColumn(); ii++) {
        if(cm.getMap()[i][ii] == 1) {
            iv[i][ii] = new ImageView(this);
            iv[i][ii].setImageResource(R.drawable.wall);
        } else if(cm.getMap()[i][ii] == 2) {
            p = new Player(i, ii, this, cm);
            iv[i][ii] = new ImageView(this);
            iv[i][ii].setImageResource(R.drawable.player);
        } else if(cm.getMap()[i][ii] == 3) {
            iv[i][ii] = new ImageView(this);
            iv[i][ii].setImageResource(R.drawable.stop);
        } else {
            iv[i][ii] = new ImageView(this);
            iv[i][ii].setImageResource(R.drawable.path);
        }
        linearTab[i].addView(iv[i][ii]);        //Horizontal LinearLayout
    }
    ll.addView(linearTab[i]);                   //Vertical LinearLayout
}
iv=newimageview[cm.getNbRow()][cm.getNbColumn()]//cm是贴图对象
LinearLayout[]linearTab=新的LinearLayout[cm.getNbColumn()];


对于(int i=0;i您是否尝试过android:adjustViewBounds=“true”

您是否尝试过android:adjustViewBounds=“true”?

导入图像时,需要确保选项“Trim”设置为“yes”和“Padding”设置为0%。这应确保图像周围没有透明区域。

导入图像时,需要确保选项“修剪”设置为“是”和“填充”设置为0%。这应确保图像周围没有透明区域。

请输入用于添加imageView的代码!请共享您的代码尝试
imageView.setScaleType(imageView.ScaleType.FIT_XY);
code添加。我尝试了
setScaleType()
但事实并非如此work@Rallph您确定您的绘图表不包含空格吗?请输入用于添加imageView的代码!请共享您的代码尝试
imageView.setScaleType(imageView.ScaleType.FIT_XY);
code添加。我尝试了
setScaleType()
但事实并非如此work@Rallph您确定您的绘图表不包含空白吗?我没有包含ImageView和
myImageView.setAdjustViewBounds(true);
无效尝试:
myImageView.setScaleType(ImageView.ScaleType.CENTER_内);
(不要删除adjustViewBounds)我也尝试过使用GridLayout,但问题并不是来自该布局我的ImageView和
myImageView.setAdjustViewBounds(true);
不起作用尝试:
myImageView.setScaleType(ImageView.ScaleType.CENTER_内);
(不要删除adjustViewBounds)我也尝试过GridLayout,但问题不是因为layoutTrim设置为“否”,但即使它设置为“是”,它仍然会为我的图像设置透明边框(填充为0%或-10%)@Rallph然后手动添加图像。这可能是Android Studio中的一个错误。它通过编辑实际图像并通过myselfTrim删除边框来工作。myselfTrim设置为“否”,但即使设置为“是”,它仍然会为我的图像设置透明边框(填充为0%或-10%)@Rallph然后手动添加图像。这可能是Android Studio中的一个bug。它通过编辑实际图像和删除边框来工作