Android ImageView setPadding не имеет никакого эффекта - PullRequest
5 голосов
/ 10 октября 2011

Я пытаюсь установить заполнение 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 ]

14 голосов
/ 10 октября 2011

A вы заметили, что используете

iv.setBackgroundResource(R.drawable.icon_small);

Это установит фон для ImageView.Фоновое изображение заполнит весь вид, потому что оно находится за всем содержимым в представлении.

Используйте

iv.setImageResource(R.drawable.icon_small);

вместо.

4 голосов
/ 10 октября 2011

Вместо установки

iv.setBackgroundResource(R.drawable.icon_small);

установлено

iv.setImageResource(R.drawable.icon_small);

и проблема решена:)

Если кто-либо знает причину, пожалуйста, ответьте.

...