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

Java 设置负边距不需要';我不能在安卓上工作

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

我正在我的android应用程序中创建一个
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和更高版本上起作用!!!