Java 设置负边距不需要';我不能在安卓上工作
我正在我的android应用程序中创建一个Java 设置负边距不需要';我不能在安卓上工作,java,android,margin,Java,Android,Margin,我正在我的android应用程序中创建一个ImageView列表,每个列表都设置了负边距。 我用它将dp转换为像素: public int dpToPixel(float dp) { DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics(); return (int)((dp * displayMetrics.density) + 0.5); } 清单如下: List<GridLayou
ImageView
列表,每个列表都设置了负边距。
我用它将dp转换为像素:
public int dpToPixel(float dp) {
DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();
return (int)((dp * displayMetrics.density) + 0.5);
}
清单如下:
List<GridLayout> columnNLinesGrid = new ArrayList<GridLayout>();
List<ImageView> columnLines = new ArrayList<ImageView>();
for (int i = 1; i <= rowLayoutsCount; i++) {
columnNLinesGrid.add(new GridLayout(this));
GridLayout.LayoutParams colGridParam = new GridLayout.LayoutParams();
colGridParam.setMargins(0,0,0,0);
colGridParam.topMargin = dpToPixel(-10);
columnNLinesGrid.get(i - 1).setLayoutParams(colGridParam);
columnNLinesGrid.get(i - 1).setColumnCount(columnLayoutsCount);
linearLayouts.get(i - 1).addView(columnNLinesGrid.get(i - 1));
for (int j = 1; j <= columnLayoutsCount; j++) {
columnLines.add(new ImageView(this));
GridLayout.LayoutParams lineParam = new GridLayout.LayoutParams();
lineParam.rowSpec = GridLayout.spec(0);
lineParam.columnSpec = GridLayout.spec(j - 1);
if(j-1>0){
lineParam.leftMargin = (int) dpToPixel(23);
} else{
lineParam.leftMargin = 0;
}
lineParam.width = GridLayout.LayoutParams.WRAP_CONTENT;
lineParam.height = (int) dpToPixel(35);
columnLines.get(colLinesCount).setLayoutParams(lineParam);
columnLines.get(colLinesCount).setImageResource(R.drawable.linevert);
columnNLinesGrid.get(i - 1).addView(columnLines.get(colLinesCount));
colLinesCount++;
}
}
List columnlinesgrid=new ArrayList();
List columnLines=new ArrayList();
对于(inti=1;i更新:我尝试了一个正的边距,但它不起作用!更新2:边距在API25和更高版本上起作用!!!