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

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

Войти
Регистрация
Восстановить пароль
 
Chunga_Changa
0 / 0 / 0
Регистрация: 25.03.2015
Сообщений: 5
#1

Как сделать так, чтобы вводимый текст сразу же рисовался в canvas? - Android

21.04.2015, 18:25. Просмотров 283. Ответов 2
Метки нет (Все метки)

Допустим, у меня в верхней части экрана EditText, а внизу область рисования. Я хочу, чтобы текст, введенный в EditText, одновременно (синхронно) отрисовывался и в области рисования.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2015, 18:25     Как сделать так, чтобы вводимый текст сразу же рисовался в canvas?
Посмотрите здесь:

Как сделать так, чтобы AVD увидел файлы ОС linux, на которой девайс был запущен? Android
Как сделать так, чтобы ссылка (к примеру http://google.com) открывалась в стандартном браузере? Android
Android Как сделать так, чтобы при выходе из программы она продолжала работать? (не вирус)
Android Как сделать так, чтобы табы в Action Bar были под ним даже на планшетах
Android Можно ли сделать так, чтобы AlertDialog не закрывался
Android Как рисовать текст на Canvas во View?
Как сделать так, чтобы при повороте устройства экран оставался вертикальным? Android
Android Как сделать так, чтобы в Status bar все уведомления от определённого приложения появлялись под одной иконкой?
Как в адаптивном дизайне Android Studio сделать так, чтобы графические элементы (различные кнопки, поля ввода Android
Android Как сделать так, чтобы мобильное приложение автоматически подстраивалось под размер экрана?
Как сделать чтобы текст появлялся по буквам? Android
Android Как сделать так, чтобы Service работал после закрытия программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
21.04.2015, 18:33     Как сделать так, чтобы вводимый текст сразу же рисовался в canvas? #2
К EditText цепляешь TextWatcher, а в событиях последнего рисуй http://stackoverflow.com/a/17912063
Chunga_Changa
0 / 0 / 0
Регистрация: 25.03.2015
Сообщений: 5
24.04.2015, 17:06  [ТС]     Как сделать так, чтобы вводимый текст сразу же рисовался в canvas? #3
Не подскажете что мне делать дальше с кодом? Прицепил к EditText TextWatcher, как мне выше посоветовали. Там три метода: "до", "во время" и "после". В каком методе мне рисовать, чтобы текст, вводимый в ЭдитТексте, синхронно отрисовывался и в области рисования? И как вообще, самое главное, рисовать в методах ТекстВотчера? У меня сейчас код так выглядит:
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
51
52
53
54
55
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.ImageView;
 
public class MainActivity extends Activity {
 
    EditText edit;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        Bitmap bitmap = Bitmap.createBitmap(450, 500, Bitmap.Config.RGB_565);
        bitmap.eraseColor(Color.WHITE);
        Canvas canvas = new Canvas(bitmap);
 
        Paint textPaint = new Paint();
        textPaint.setColor(Color.BLACK);
        textPaint.setTextSize(25);
 
        canvas.drawText("Синхронно отрисованный текст", 10, 30, textPaint);
 
        ImageView image = (ImageView) this.findViewById(R.id.imageView);
        image.setImageBitmap(bitmap);
 
        edit = (EditText) findViewById(R.id.textView);
        edit.addTextChangedListener(watcher);
    }
 
    TextWatcher watcher = new TextWatcher() {
 
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub
        }
 
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            // TODO Auto-generated method stub
        }
 
        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
        }
    };
}
Yandex
Объявления
24.04.2015, 17:06     Как сделать так, чтобы вводимый текст сразу же рисовался в canvas?
Ответ Создать тему
Опции темы

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