我正在尝试设置ImageView的填充。我的代码在
之下private void createEpisodeView() {
float scale = this.getResources().getDisplayMetrics().density;
int padding = (int) (PADDING * scale + 0.5f);
rlItemsRoot = (LinearLayout) findViewById(R.id.rl_items_root);
for (int i = 0; i < GameLevels.TOTAL_EPISODES; i++) {
ImageView iv = new ImageView(this);
iv.setPadding(padding, padding, padding, padding);
iv.setBackgroundResource(R.drawable.icon_small);
rlItemsRoot.addView(iv);
}
}
但它没有效果。但是当我用XML设置它时看起来很好。
答案 0 :(得分:14)
你注意到自己正在使用
iv.setBackgroundResource(R.drawable.icon_small);
这将为ImageView设置背景。背景图像将填充整个视图,因为它位于视图中的所有内容的后面。
使用
iv.setImageResource(R.drawable.icon_small);
代替。
答案 1 :(得分:4)
而不是设置
iv.setBackgroundResource(R.drawable.icon_small);
组
iv.setImageResource(R.drawable.icon_small);
问题解决了:)
如果有人知道原因,请回复。