2015-11-03 4 views
0

Я использую библиотеку Google Design (23.1.0) для показа закусочных. Код моей закусочной выглядит следующим образом:Закусочная не отображает текст

Snackbar snackbar = Snackbar.make(getView(), "Deleted", Snackbar.LENGTH_LONG); 
snackbar.setActionTextColor(getResources().getColor(R.color.accent_color)); 
snackbar.setAction(R.string.undo, //anonymous class omitted); 
snackbar.setCallback(//anonymous class omitted); 
snackbar.show(); 

Закусочная создается и отображается. Метка действия, цвет действия и все слушатели работают так, как ожидалось. Единственное, что сообщение «Deleted» не отображается. Если я использую отладчик и прекращаю выполнение на: snackbar.show(), я вижу, что внутри snackbar> mView> mMessageView есть поле, называемое mText, и оно имеет значение «Deleted». Но я не вижу сообщение в закусочной. Я уже пытался использовать оба строковых константы и идентификатор ресурсов.

Что еще, я пробовал использовать очень похожий код в чистом проекте, и он работает. Что может быть причиной?

Missing text

+0

Что такое 'getView()' в первой строке. – Pankaj

+0

его функция getView() из фрагмента, – Praeterii

ответ

1

О, это выглядит как цвет текста был на самом деле же, как фон. Я заменил:

Snackbar snackbar = Snackbar.make(getView(), "Deleted", Snackbar.LENGTH_LONG); 

С:

Snackbar snackbar = Snackbar.make(fab, Html.fromHtml("<font color=\"#ffffff\">Deleted</font>"), Snackbar.LENGTH_LONG); 

И теперь я могу видеть текст.

Update:

После небольшого расследования futher цвета по умолчанию для закусочной текст взят из theme.xml. В случае нашего проекта значение textColor было установлено на # 313131, а фон snackbar - # 323232. Невозможно заметить.

0

Может что-то не так с цветом текста (R.color.accent_color). Может быть, цвет текста в качестве фона?

Try без этой опции:

Snackbar snackbar = Snackbar.make(getView(), "Deleted", Snackbar.LENGTH_LONG); 
snackbar.setAction(R.string.undo, //anonymous class omitted); 
snackbar.setCallback(//anonymous class omitted); 
snackbar.show(); 
+1

R.color.accent_color установлена ​​на ярлыке действия и его синем. – Praeterii

+0

Yup, текст того же цвета, что и backgroud. Благодарю. Но изменить это сложнее. – Praeterii

+0

Пожалуйста, но вы сами решили проблему) – walkmn