Выровненный текст редактирования в android
привет,
любая идея создать выровненный текст редактирования, как блокнот для заметок, в android.
Судя по всему, это описано в этом учебнике на сайте разработчика android.
http://developer.android.com/resources/tutorials/notepad/index.html[^]
импорт 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"));
}
}
Вы снова открыли 6-летний ответный вопрос, чтобы опубликовать чужой код.