Хорошо, я не мог придумать, как выразить это прилично, поэтому я предложу это как «Как бы вы?».
У меня есть приложение, которое подключается к службе, которая связывает все данные с одним основным видом деятельности. Деятельность разделена на две части с помощью выдвижного ящика. В верхней части описываемого действия находятся лишь несколько кнопок, которые помогают настроить приложение и действуют как главное меню, чтобы быстро добраться куда угодно.
Внизу (при щелчке по ящику) находится сердце приложения, окно gl, отображающее 9 скамей, содержащих по 6 виджетов в каждой. Виджеты отображают полезные данные и должны иметь возможность свободно перемещаться и долго щелкать, чтобы открыть меню параметров.
В этом и заключается моя проблема: я использовал вид сетки для хранения виджетов, но теперь, когда я использую GL для скамей и слушателя касания, я не знаю, как наложить вид сетки на скамейки и по-прежнему сохраняйте движение касания для окна GL И по-прежнему сможете взаимодействовать с видом сетки.
Это заставляет меня спрашивать чье-либо мнение о том, как это сделать. На данный момент единственный вариант, который у меня есть, это выяснить, как сделать ВСЕ виджеты (даже если некоторые из них могут быть даже гистограммой) в gl. Я бы предпочел не делать этого, потому что я не очень хорошо работаю друг с другом. Но я действительно не могу понять, как интегрировать эти функции и при этом сделать их функциональными. Есть идеи?!
ПРЕОБРАЗОВАНИЕ GRIDVIEW В BITMAP
Этот метод в моем расширении gridview (WorkBench). По сути, я делаю обход массива видов сетки, собирая растровые изображения каждого вида, а затем устанавливая растровое изображение в качестве текстуры для панелей.
ToBitmap из класса WorkBench
public Bitmap toBitmap() {
int x = getWidth();
int y = getHeight();
Bitmap b = Bitmap.createBitmap(x, y, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas();
canvas.setBitmap(b);
draw(canvas);
return b;
}
А вот где я запускаю WorkBenches
LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
for (int i = 0; i < mWB.length; i++) {
mWB[i] = mBoundService.createBench(ARMHomescreen.this, i+"");
mWB[i].setLayoutParams(lp);
}
Что происходит, так это то, что размеры WorkBenches никогда не устанавливаются, независимо от того, использую ли я LayoutParam или задаю размер в методе toBitmap ...