Изменить: я только заметил, что в Chrome есть ошибка , из-за чего курсор становится не в том месте с Я применил свое собственное (главным образом CSS) решение для использования contenteditable
и ::first-letter
. Это будет работать для любого другого случая. некоторое время назад, и теперь я передаю его вам. Он эмулирует ввод текста, но является div. Если
div
является классом text
, то вход вынужден быть на 1 строке (в противном случае он ближе к textarea
). В div есть местозаполнитель, который является его атрибутом data-placeholder
. Атрибут form-remote-input
сигнализирует JS, который input
заполняет, удерживая значение div. Чтобы соответствовать требованиям, я добавил ::first-letter {color: #F00;}
к div
. Запустите фрагмент кода, чтобы увидеть мой ложный ввод. function remote_input_updater(element, scope) {
var scope = typeof scope !== 'undefined' ? scope : document;
var remote_id = element.getAttribute('form-remote-input');
var remote_element = scope.querySelector("#" + remote_id);
// Load initial value
element.textContent = remote_element.value;
// Add blur event updater
var update_remote = function(e){
remote_element.value = element.textContent;
if(element.textContent == "") { // Remove extra
s that get added
while (element.firstChild) {
element.removeChild(element.firstChild);
}
}
}
element.addEventListener('blur', update_remote);
};
[].forEach.call(document.querySelectorAll('[form-remote-input]'), function(element){remote_input_updater(element)});[contenteditable] {
color: #000;
border: 1px solid black;
padding: 3px;
min-height: 1.2em;
}
[contenteditable]:empty::before{
content: attr(data-placeholder);
color: #666;
}
[contenteditable=true]:empty:focus::before{
content: "\00a0";
}
[contenteditable]:focus {
outline: none;
}
/* Forces single line */
.text[contenteditable] br{
display:none;
}
.text[contenteditable] * {
display: inline;
}
#first-red::first-letter {
color: #F00;
}
Попробуйте очистить -> Восстановить и недействить Перезагрузите систему. Все кнопки должны работать как HomeButton. и убедитесь, что ваше приложение не имеет каких-либо ошибок.
Вариант 1. Создайте проект.
Вариант 2. используйте библиотеку ButterKnife вместо findViewById.
1.) импортируйте эту библиотеку. реализация: com.jakewharton: butterknife: 8.8.1 'annotationProcessor' com.jakewharton: butterknife-компилятор: 8.8.1 '
2) @BindView (R.id.HomeButton) ImageButton homebtn;
@BindView(R.id.MenuButton)
ImageButton menubtn;
@BindView(R.id.MapButton)
ImageButton mapbtn;
После этого привяжите метод imageButton в oncreate () ... 3) ButterKnife.bind (this);