膨胀 ImageButtons 时移动图像

Shifted image when inflate ImageButtons

我的应用程序中有一个 activity,我必须在其中膨胀 ImageButton。一开始我认为它运行良好,但注意到整个视图都向下移动了。我是不是做错了?

我尝试更改 XML 模板的一些功能,但没有解决问题或不起作用。

// Retrieving view's item
    LinearLayout linear = findViewById(R.id.linear_layout_existing_picto);

// Retrieving fields from R.drawable
    Field[] fields = R.drawable.class.getFields();

// Sorting drawables by name and inserting into the scrollView
    for (final Field field : fields) {
        try {
            if (field.getName().startsWith("dra_")) {
        int currentResId = field.getInt(R.drawable.class);
        ImageButton imageButtonDrawable = (ImageButton) getLayoutInflater().inflate(R.layout.template_drawable, null);
        imageButtonDrawable.setImageResource(currentResId);
        imageButtonDrawable.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            Intent intent = new Intent();
            intent.putExtra("result", field.getName());
            setResult(AddExistingPictoActivity.RESULT_OK, intent);
            finish();
            }
        });
        linear.addView(imageButtonDrawable);
        }
        } catch (IllegalAccessException e) {
        e.printStackTrace();
    }
    }

问题似乎出在 LinearLayout "linear" 的 "layout_gravity" XML 属性上。只需删除它即可解决问题。