膨胀 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 属性上。只需删除它即可解决问题。
我的应用程序中有一个 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 属性上。只需删除它即可解决问题。