Чтобы получить TextView
для отображения (и действовать дружелюбно) строк HTML, мой код выглядит примерно так:
// itemHtml is a String of HTML defined above
TextView itemContent = (TextView) findViewById(R.id.itemContent);
itemContent.setText(Html.fromHtml(itemHtml));
itemContent.setMovementMethod(LinkMovementMethod.getInstance());
Если в строке HTML есть ссылка, TextView
приводит к ссылкам, которые можно нажимать и фокусировать. Когда пользователь фокусируется на конкретной ссылке (например, с помощью d-pad), текст ссылки изменяется каким-то существенным образом, чтобы показать, что фокус был получен.
Проблема в том, что когда я тестирую этот же шаблон на устройствах с d-pad с использованием Honeycomb (например, Google TV) или Ice Cream Sandwich Android, ссылка в тексте не показывает заметного указания, что ссылка имеет фокус .
Я знаю, что он получает фокус, потому что когда вы нажимаете Enter, он выполняет указанное действие. Вы даже можете перемещаться между различными ссылками в тексте; вам остается только угадать, по какой ссылке вы сейчас находитесь, что приводит к очень плохому восприятию пользователя.
Есть ли что-то, что я делаю не так? Есть ли способ исправить это или обойти это?