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