Имя: Пароль:
IT
Мобильный мир
android studio (отображение на canvas)
0 zdas
 
12.08.15
20:32
сделал меню, по клику по определенному пункту должна строиться динамическая картинка (типа графика) на текущем canvas.

Вопрос
1) почему=то не входит в процедуру отрисовки bitmap, соответственно не отрисовывает (либо я коряво что-то делаю)
2) пункт меню после выбора - не пропадает с экрана, а висит окошком (т.е. как будто нажата кнопка выпадения меню), ну это уже второстепенное.

Код

Override
  public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_launch) {
            StartDrawGraph();
        }
....
  }

    public void StartDrawGraph() {
    // проверяю условия, беру данные, загоняю их в массив
    setContentView(new DrawView(this));
    }


    class DrawView extends View {

        public DrawView(Context context) {
            super(context);

        }

        Override
        protected void onDraw(Canvas canvas) {
            canvas.drawBitmap(DrawOnBitmap(),0,0,null);
        }
        public Bitmap DrawOnBitmap() {
            // тут идет создание bitmap для отрисовки
        }
    }
1 Asmody
 
12.08.15
20:42
А так:

Bitmap bitmap = DrawOnBitmap();
canvas.drawBitmap(bitmap, 0, 0, null);
2 zdas
 
12.08.15
20:46
(1) так тоже :(

ставлю бряки

public DrawView(Context context) {
            super(context);
}

и
на
Bitmap bitmap = DrawOnBitmap();

1 - ловит, второй мимо , как-будто onDraw не срабатывает
3 Рэйв
 
12.08.15
20:47
>>динамическая картинка
:-)
ну ну
4 zdas
 
12.08.15
20:49
(3) картинка по динамическому массиву, так точнее.
Типа графика на данный момент (берутся текущие данные, по ним строиться картинка).
5 zdas
 
12.08.15
21:15
public void StartDrawGraph() {
    // проверяю условия, беру данные, загоняю их в массив

    // просто для примера вывожу сообщение, но его не видно
    Toast.makeText(getBaseContext(), "test", Toast.LENGTH_SHORT).show();

    setContentView(new DrawView(this));
    }

сообщение тоже не выводиться.