getDrawingCache Представления Android 2.1 () метод всегда возвращает пустой указатель

Я работаю с Android 2.1 и имею следующую проблему: Используя метод View.getDrawingCache () всегда возвращает пустой указатель. getDrawingCache () должен возвратить Битовый массив, который является презентацией контента Представления.

Пример кода:

public void onCreate(final Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  final View view = findViewById(R.id.ImageView01);
  view.setDrawingCacheEnabled(true);
  view.buildDrawingCache();
  final Bitmap bmp = view.getDrawingCache();
  System.out.println(bmp);

}

Я уже попробовал различные способы настроить объект Представления для генерации кэша рисунка (например. View.setWillNotDraw(boolean) и View.setWillNotCacheDrawing(boolean)), но ничто не работает.

Каков правильный путь, или что я делаю неправильно?

PS: В реальном коде я хочу применить getDrawingCache () на ViewGroup как RelativeLayout. Действительно ли поведение является тем же при использовании ViewGroup?

13
задан Impression 12 May 2010 в 08:55
поделиться

2 ответа

Насколько я читал последние дни в документации, вы должны вызывать только setDrawingCacheEnabled или buildDrawingChache(), но не оба.

0
ответ дан 1 December 2019 в 21:24
поделиться

используйте

onLayout(x, y, width, height);

для ex:

onLayout(0, 0, 100, 100);

перед вызовом getDrawingCache

5
ответ дан 1 December 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: