android ImageView setPadding没有任何效果

时间:2011-10-10 08:25:07

标签: android imageview padding

我正在尝试设置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设置它时看起来很好。

2 个答案:

答案 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);

问题解决了:)

如果有人知道原因,请回复。