Чтобы получить 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
приводит к ссылкам, на которые можно щелкнуть и которые можно сфокусировать. Когда пользователь фокусируется на определенной ссылке (например, с помощью крестовины), текст ссылки существенно изменяется, чтобы показать, что фокус был получен.
Проблема заключается в том, что когда я тестирую этот же шаблон, используя устройства с крестовиной, использующие Android Honeycomb (например, Google TV) или Ice Cream Sandwich, ссылка в тексте не показывает заметных признаков того, что ссылка имеет фокус.
Я знаю, что он получает фокус, потому что когда вы нажимаете Enter, он выполняет указанное действие. Вы даже можете перемещаться между различными ссылками в тексте; вы просто угадываете, по какой ссылке вы сейчас находитесь, что приводит к очень плохому взаимодействию с пользователем.
Я что-то делаю не так? Есть ли способ исправить это или обойти это?