2016-09-13 4 views
0

Я занят библейским приложением и хочу иметь текстовые ссылки в другом цвете, чем остальная часть текста. Есть ли способ сделать это? Я использую SQLite db thats в моей папке Assets, поэтому я редактирую данные в DB Browser, а не в Android Studio, как строки.SQLite определенные цвета слов

Я хочу знать, возможно ли что-то такое, как <textcolor>word<textcolor>, а затем, когда в студии Android он не должен отображать слова в скобках, но на самом деле этот цвет. Ive получил этот пример от кого-то, что использует его в PHP, но он не работает в SQLite

<sup><font color="#3923D6">words in color goes here</font></sup>

Есть обходной путь, чтобы сделать эту работу в Adroid Studio?

+0

'а затем, когда в студии Android он не должен отображать слова в скобках, но на самом деле этот цвет' Вы хотели, чтобы IDE изменила свой цвет текста? или вы имеете в виду изменение цвета текста в приложении? – Enzokie

+1

Вы можете достичь этого двумя способами: сначала, если вы знаете точный текст из данных, вы можете использовать строку spannable и форматировать текст в соответствии с требованиями, а другой способ - хранить ваши данные в базе данных с помощью html-формата, а затем после получения данных использовать Html .fromHtml, когда вы устанавливаете данные как текст в lable – Vickyexpert

+0

Почему вы хотите цвета в sqlite – siddhesh

ответ

0

Ну, я предполагаю, что вы хотите отобразить название цвета в соответствующем цвете, например, если текст RED и вы хотите, чтобы RED отображался красным цветом.

Для этого вы можете хранить значения в вашем-то базы данных, как этот

"<font color='red'>RED</font>." 

Вы можете сделать этот столбец в таблице как TEXT NOT NULL

После извлечения этих данных из таблицы можно отобразить его в TextView, как следовать

textView.setText(Html.fromHtml(colorText), TextView.BufferType.SPANNABLE); 

Здесь colorText является строковое значение извлекается из базы данных.

+0

Нет ... Я занят библейским приложением и хочу иметь текстовые ссылки в другом цвете, чем остальная часть текста ... – FDupie

0

Пожалуйста, проверьте ниже обоих вариантов настройки цвета в тексте,

Option1: Использование "Spannable"

Примечание: Для этого вам необходимо импортировать ниже двух пакетов.

import android.text.Spannable; 
import android.text.SpannableString; 

Теперь, скажем, у вас есть строка в mainString, как показано ниже, и вы хотите, чтобы сделать какую-то часть текста с другим цветом, поэтому сначала необходимо преобразовать текст в spannable, то вы можете установить интервал в соответствии с вашими требование.

Ниже я попытаюсь сделать цвет текста синий для «сделать текст», так и ниже приведен код, который вы можете использовать его в соответствии с вашими требованиями

String mainString = "This is example of making text color using span in android"; 

    Spannable spanText = new SpannableString(mainString); 
    spanText.setSpan(new ForegroundColorSpan(Color.BLUE), mainString.indexOf("making text"), 11, 0); // This will make making text with blue color 


    spanText.setSpan(new StyleSpan(Typeface.BOLD), 5, 14 , 0); // This will make your text bold from 5th to 10 characters. 

    yourTextView.setText(spanText); 

Вариант 2: Использование базы данных

для второго варианта вам необходимо хранить данные с помощью Html в базе данных, скажем, вы сохраняете же выше строку в базе данных, так что вы должны сохранить его как

 // This is your main String 
     //String mainString = "This is example of making text color using span in android"; 

     // Store it as below in database 
     String mainString = "This is <b> example of</b> <font color='blue'> making text </font> color using span in android"; 

Теперь, когда вы получите эти данные в то время просто установить его, как показано ниже

yourTextView.setText(Html.fromHtml(mainString)); 

Вот так, вы можете сделать любым из следующим образом.

+0

Выглядит хорошо, кроме моих данных в sqlite, есть ли способ определить мою базу данных дыр в виде строки? – FDupie

0

Я понял, что {\ cf15 это будет серый} превратит слова «это будет серым» в серых скобках. Я попробовал 01 - 20 после «cf» для достижения разных цветов.

также, {\ i это будет курсивом} работает для курсива, и их можно комбинировать без использования пробелов, таких как: {\ cf15 \ i, это будет серый и курсив. Надеюсь, это поможет.

Смежные вопросы