Просмотр списка с использованием растрового изображения - PullRequest
2 голосов
/ 28 июля 2011

Я пытался создать битовую карту вида списка, где весь вид списка не виден на экране. Я использую

Bitmap mBitmap = fullView.getDrawingCache();

для создания растрового изображения. Он работает нормально для той части представления списка, которая видна на экране, но не для той части, которая не отображается. Я хотел бы знать, можно ли создать растровое изображение представления списка без необходимости его полного отображения на экране. , Все предложения и / или решения приветствуются.

Ответы [ 2 ]

0 голосов
/ 30 августа 2017

Попробуйте использовать этот метод.Взломать это вызов метода макета и измерения представления самостоятельно.

public Bitmap loadBitmapFromView(View v) {
    v.setLayoutParams(new ViewGroup.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
            RelativeLayout.LayoutParams.WRAP_CONTENT));
    v.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
            View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
    v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());
    Bitmap bitmap = Bitmap.createBitmap(v.getMeasuredWidth(),
            v.getMeasuredHeight(),
            Bitmap.Config.ARGB_8888);


    Canvas c = new Canvas(bitmap);
    v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
    v.draw(c);
    return bitmap;
}

Передайте представление в этом методе как

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View inflatedFrame = inflater.inflate(R.layout.my_view, null);
Bitmap bitmap = loadBitmapFromView(inflatedFrame.findViewById(R.id.id_of_your_view_in_layout));
0 голосов
/ 05 сентября 2011

Поскольку андроид рисует только то, что видно, может быть, идея состоит в том, чтобы разбить растровые изображения на куски, а затем сгруппировать растровые изображения в один. Сначала вы можете получить растровое изображение первых n элементов. Затем используйте метод scrollTo для прокрутки за пределы предыдущих n элементов и получения растрового изображения для следующих n элементов. Таким образом, вы можете получить растровое изображение всего списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...