Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
yura91
28 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,218
#1

Сделать диаграмму - Android

20.03.2016, 18:05. Просмотров 153. Ответов 3
Метки нет (Все метки)

Мне нужно сделать следующее. Пользователь вводит в поля EditText фамилию, время начала, длительность записи ко врачу, нажимает кнопку "Применить". И ему открывается активити на котором изображено следующее: первая колонка ось времени ее ширина 100 пикселей интервал деления одного часа 100 пикселей, вторая колонка(ее размер тоже 100 пикселей) - запись ее длительность кратна 5 минутам но не больше 60 минут. Запись представляет собой ячейку, которая представляет собой закрашенный прямоугольник с текстовой надписью. Вопрос такой: Что нужно использовать чтобы все это нарисовать(шкалу времени с соотвествующей разметкой(выдержать цену делания) и соответствующую этому времени запись которая представляет собой закрашенный прямоугольник с текстовой надписью)? Canvas здесь подойдет? При помощи него можно все это нарисовать, выдержать нужные размеры, и выдержать разметку по шкале времени? Или какой лучше инструмент использовать? Может drawable подойдет?

Добавлено через 1 час 3 минуты
Рисовать координатные оси, прямоугольники закрашенные с надписями в активити. Все это можно при помощи Canvas?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2016, 18:05     Сделать диаграмму
Посмотрите здесь:

Android Как нарисовать красивую круговую диаграмму
Android Нарисовать круговую диаграмму с разной высотой для каждой части

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
20.03.2016, 20:06     Сделать диаграмму #2
Да все так
yura91
28 / 26 / 2
Регистрация: 23.10.2013
Сообщений: 2,218
20.03.2016, 20:42  [ТС]     Сделать диаграмму #3
Хорошо а как тогда нарисовать вертикальную координатную прямую в активити ? Интервал между делениями 100 пикселей.

Добавлено через 2 минуты
Можете обьяснить
vxg
Модератор
3021 / 1823 / 189
Регистрация: 13.01.2012
Сообщений: 6,910
20.03.2016, 21:21     Сделать диаграмму #4
просто пример
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class MainActivity extends Activity {
 
    private ImageView img;
    
    private Bitmap bmp;
    private Canvas canvas;
    private Paint paint;
    
    private int bg = Color.rgb(255,  255, 255);
    private int activeColor = Color.rgb(255, 0, 0);
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        setContentView(R.layout.activity_main);
        
        img = (ImageView)findViewById(R.id.img);
 
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        bmp = Bitmap.createBitmap(metrics.widthPixels, metrics.heightPixels, Bitmap.Config.ARGB_8888);
        
        canvas = new Canvas(bmp);
        
        paint = new Paint();
        paint.setAntiAlias(true);
        paint.setStrokeCap(Paint.Cap.ROUND);
        paint.setStrokeJoin(Paint.Join.ROUND);
        
        img.setImageBitmap(bmp);
    }
    
    private void draw() {
        paint.setColor(activeColor);
        paint.setStyle(Paint.Style.STROKE);
        paint.setStrokeWidth(10);
        canvas.drawLine(0, 0, 100, 100, paint);
        img.invalidate();
    }
    
    private void clear() {
        paint.setColor(bg);
        paint.setStyle(Paint.Style.FILL);
        canvas.drawRect(0, 0, bmp.getWidth(), bmp.getHeight(), paint);
        img.invalidate();
    }
}
Yandex
Объявления
20.03.2016, 21:21     Сделать диаграмму
Ответ Создать тему
Опции темы

Текущее время: 00:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru