sneha john andr Ответов: 2

Выровненный текст редактирования в android


привет,
любая идея создать выровненный текст редактирования, как блокнот для заметок, в android.

2 Ответов

Рейтинг:
2

merridus

Судя по всему, это описано в этом учебнике на сайте разработчика android.

http://developer.android.com/resources/tutorials/notepad/index.html[^]


Рейтинг:
2

Dixit Panchal007

импорт android.content.Контекст;
импорт android.графики.Холст;
импорт android.графики.Цвет;
импорт android.графики.Краска;
импорт android.графики.Прямоугольник;
импорт android.графики.Шрифт;
импорт android.util.Набор атрибутов;
импорт android.util.Log;
импорт android.view.Ключевое событие;

/**
* Создано Валентином 28.9.2015.
*/
публичный класс LinedEditText расширяет android.support.v7.widget.AppCompatEditText {

частная Вильный вильный;
частный краска;


public LinedEditText(Context context, AttributeSet attrs) {
супер(контекст, attrs);

прямоугольник = новый прямоугольник();
краски = новая краска();

paint.setStyle(краска.Стиль.УДАР);
paint.setColor(Color.parseColor("#909090"));


setTypeface(контекст);
}

public void setLineColor(int color) {
paint.setColor(цвет);
}

@Ручная коррекция
защищенная пустота onDraw(холст холст) {
int height = getHeight();
инт свойство lineheight = getLineHeight();
int count = высота / высота линии;

// Для длинного текста с прокруткой
if (getLineCount() > count) {
count = getLineCount();
}

// Нарисуйте первую линию
int baseline = getLineBounds(0, rect);

прямоугольник.left = getPaddingLeft() - 100;


прямоугольник.Корр(5, 5);

for (int i = 0; i < count; i++) {

Войти.е("базовой линии : ", "" + базовый);


холст.drawLine(прямоугольник.слева, базовый + 40, прямоугольник.право, базовый уровень + 40, краска);

базовая линия += getLineHeight();
}
super.onDraw(холст);
}

@Ручная коррекция
public boolean onKeyPreIme(int keyCode, событие KeyEvent) {
если (событие.getKeyCode() == keyevent не.KEYCODE_BACK) {
dispatchKeyEvent(событие);
возвращать false;
}
возвращение супер.onKeyPreIme(ключ, мероприятие);
}

private void setTypeface(Context context) {
this.setTypeface(Typeface.createFromAsset(context.getAssets(), "avenirnextregular.ttf"));
}
}


CHill60

Вы снова открыли 6-летний ответный вопрос, чтобы опубликовать чужой код.