Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
#1

Выбор шрифта для EditText - Программирование Android

26.11.2015, 19:16. Просмотров 1742. Ответов 44
Метки нет (Все метки)

Всем здравствуйте. Пишу текстовый редактор. Помогите организовать выбор шрифта. Текст вводится в EditText. У меня маленький опыт, я только начала изучение разработки программ для мобильных приложений, поэтому буду рада любой помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 19:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выбор шрифта для EditText (Программирование Android):

Ввод в один EditText и авто-вычисление в двух других EditText - Программирование Android
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в поле осуществляется с Button(ов). Вопрос...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText - Программирование Android
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

InputType для EditText - Программирование Android
Заранее извиняюсь, если как-то неправильно или с ошибками сформулирую свою мысль. Все ведь с опытом приходит, которого пока маловато).Так...

Маска ввода для EditText - Программирование Android
Здравствуйте. А можно как то задать маску ввода для текстового поля? Ну например, вводим сумму денег в EditText и формат должен быть типа...

EditText для ввода даты - Программирование Android
Нужно сделать edittext для даты. Я разместил рядом 3 шт. , для дня, месяца, и года соответственно. В каждом максимальное число вводимых...

Минимальное и максимальное значение для EditText - Программирование Android
Имеется EditText и SeekBar. <EditText android:layout_width="wrap_content" ...

44
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
25.12.2015, 02:25  [ТС] #31
ошибки нет, шрифт текста не меняется. Почему, не знаю. Может не там где нужно папку создала или шрифты не поддерживаются эмулятором? Помогите реализовать изменение шрифта
0
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
03.01.2016, 22:45  [ТС] #32
Моя первоначальная проблема осталась. Когда я хочу в приложении поменять шрифт текста в Edit, то он не меняется. Я еще раз пишу код для этой функции и надеюсь, что мне сможет кто-нибудь помочь. ПОЖАЛУЙСТА.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 @Override
    public void onResume() {
        super.onResume();
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
 if (prefs.getBoolean(getString(R.string.pref_font_1), true))
        {
         Typeface myFont = Typeface.createFromAsset(getAssets(), "babel_sans.ttf");
          mEditText.setTypeface(myFont);
        }
        if (prefs.getBoolean(getString(R.string.pref_font_2), true))
        {
         Typeface myFont = Typeface.createFromAsset(getAssets(), "cabin_sketch.ttf");
          mEditText.setTypeface(myFont);
        }
        if (prefs.getBoolean(getString(R.string.pref_font_3), true))
        {
         Typeface myFont = Typeface.createFromAsset(getAssets(), "d_old_modern.ttf");
          mEditText.setTypeface(myFont);
        }
        if (prefs.getBoolean(getString(R.string.pref_font_4), true))
        {
          Typeface myFont = Typeface.createFromAsset(getAssets(), "t_a_b_a_r_d_o.ttf");
          mEditText.setTypeface(myFont);
        }
}
0
Pablito
2574 / 2056 / 641
Регистрация: 12.05.2014
Сообщений: 7,220
Завершенные тесты: 1
04.01.2016, 17:04 #33
что по-твоему делает этот код?
0
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
04.01.2016, 19:50  [ТС] #34
при выборе определенного CheckBox, из папки берется нужный шрифт и применяется к EditText. По крайней мере, я надеюсь
0
Pablito
2574 / 2056 / 641
Регистрация: 12.05.2014
Сообщений: 7,220
Завершенные тесты: 1
04.01.2016, 20:05 #35
для начала я бы все закомментировал в этом методе и оставил только:
Java
1
2
3
4
5
6
    @Override
    public void onResume() {
        super.onResume();
            Typeface myFont = Typeface.createFromAsset(getAssets(), "d_old_modern.ttf");
            mEditText.setTypeface(myFont);
    }
естественно в папке assets должен лежать файл шрифта

После запуска в любом случае должно что-то написать в консоли. Это можно ВСЕ скопировать и вылоить сюда для анализа.
Файл шрифта можно тоже приложить, вдруг кто-то захочет проверить его.
0
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
04.01.2016, 21:16  [ТС] #36
файл шрифта находится в архиве
0
Вложения
Тип файла: rar d_old_modern.rar (29.5 Кб, 1 просмотров)
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
04.01.2016, 21:26  [ТС] #37
Ошибки не показывает, но и шрифт не меняется.
0
Pablito
2574 / 2056 / 641
Регистрация: 12.05.2014
Сообщений: 7,220
Завершенные тесты: 1
05.01.2016, 11:44 #38
проверил шрифт, работает
значит показывай весь onCreate и onResume (при вставке на форум используй теги)
и так как я не верю людям на слово, было бы неплохо показать скриншот на котором видно структуру проекта, видно что в папке assets лежит шрифт с этим названием и видно где находится папка assets
0
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
06.01.2016, 02:02  [ТС] #39
вот структура проекта, может и правда не там создала папку
0
Миниатюры
Выбор шрифта для EditText  
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
06.01.2016, 02:04  [ТС] #40
Java
1
2
3
4
5
6
7
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.main);
 
        mEditText = (EditText) findViewById(R.id.editText);
    }
0
Pablito
2574 / 2056 / 641
Регистрация: 12.05.2014
Сообщений: 7,220
Завершенные тесты: 1
06.01.2016, 11:55 #41
а main.xml ?
а onResume() ?
0
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
06.01.2016, 14:50  [ТС] #42
Вот main.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">
    <item
        android:id="@+id/action_open"
        android:icon="@android:drawable/ic_menu_day"
        android:orderInCategory="100"
        app:showAsAction="ifRoom|withText"
        android:title="sdk\platforms\android-22\data\res\anim\action_open" />
 
    <item
        android:id="@+id/action_save"
        android:icon="@android:drawable/ic_menu_save"
        android:orderInCategory="100"
        app:showAsAction="ifRoom|withText"
        android:title="sdk\platforms\android-22\data\res\anim\action_save" />
 
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="Настройки"/>
 
</menu>
0
Pablito
2574 / 2056 / 641
Регистрация: 12.05.2014
Сообщений: 7,220
Завершенные тесты: 1
06.01.2016, 15:17 #43
это разметка меню, а не главной активити, надо файл из папки layout
и что там в onResume тоже
0
Byka
0 / 0 / 0
Регистрация: 19.10.2015
Сообщений: 50
13.01.2016, 13:32  [ТС] #44
Вот main.xml
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 
    <EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="top|left"
    android:inputType="textMultiLine|textCapWords"/>
 
 </LinearLayout>
Добавлено через 2 минуты
Вот onResume

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 @Override
    public void onResume() {
        super.onResume();
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
        // читаем установленное значение из CheckBoxPreference
        if (prefs.getBoolean(getString(R.string.pref_openmode), false)) {
            openFile(FILENAME);
        }
 
        // читаем размер шрифта из EditTextPreference
        float fSize = Float.parseFloat(prefs.getString(
                getString(R.string.pref_size), "20"));
// применяем настройки в текстовом поле
        mEditText.setTextSize(fSize);
 
        // читаем стили текста из ListPreference
        String regular = prefs.getString(getString(R.string.pref_style), "");
        int typeface = Typeface.NORMAL;
 
        if (regular.contains("Полужирный"))
            typeface += Typeface.BOLD;
 
        if (regular.contains("Курсив"))
            typeface += Typeface.ITALIC;
 
 
//применяем цвет текста
        if (prefs.getBoolean(getString(R.string.pref_color_black), true)) {
            mEditText.setTextColor(Color.BLACK);
        }
        if (prefs.getBoolean(getString(R.string.pref_color_red), true)) {
            mEditText.setTextColor(Color.RED);
        }
        if (prefs.getBoolean(getString(R.string.pref_color_green), true)) {
            mEditText.setTextColor(Color.GREEN);
        }
        if (prefs.getBoolean(getString(R.string.pref_color_blue), true)) {
            mEditText.setTextColor(Color.BLUE);
        }
 
//применяем шрифт текста
 
        if (prefs.getBoolean(getString(R.string.pref_font_1), true))
        {
          Typeface myFont = Typeface.createFromAsset(getAssets(), "babel_sans.ttf");
          mEditText.setTypeface(myFont);
        }
        if (prefs.getBoolean(getString(R.string.pref_font_2), true))
        {
          Typeface myFont = Typeface.createFromAsset(getAssets(), "cabin_sketch.ttf");
          mEditText.setTypeface(myFont);
        }
        if (prefs.getBoolean(getString(R.string.pref_font_3), true))
        {
         Typeface myFont = Typeface.createFromAsset(getAssets(), "d_old_modern.ttf");
         mEditText.setTypeface(myFont);
        }
        if (prefs.getBoolean(getString(R.string.pref_font_4), true))
        {
         Typeface myFont = Typeface.createFromAsset(getAssets(), "t_a_b_a_r_d_o.ttf");
         mEditText.setTypeface(myFont);
        }
 
// меняем настройки в EditText
       mEditText.setTypeface(null, typeface);
   }
 
}
Добавлено через 47 секунд
Надеюсь на помощь
0
Pablito
2574 / 2056 / 641
Регистрация: 12.05.2014
Сообщений: 7,220
Завершенные тесты: 1
13.01.2016, 13:40 #45
Цитата Сообщение от Byka Посмотреть сообщение
mEditText.setTypeface(null, typeface);
ЧТО ЭТО???
раз десять наверное написали как должна выглядеть строка
Java
1
mEditText.setTypeface(typeface);
жесть какая, как можно быть таким?

Добавлено через 1 минуту
если какое то условие срабатывает то эту последнюю стрку вообще надо вытереть
1
13.01.2016, 13:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2016, 13:40
Привет! Вот еще темы с ответами:

Метод для прослушивания изменения текста EditText - Программирование Android
Подскажите, пожалуйста, как называется метод для прослушивания изменения текста в EditText и метод для прослушивания того, что любой view в...

Числовой InputType для EditText с возможностью ввода минуса - Программирование Android
&lt;EditText &lt;!-- cut --&gt; android:ems=&quot;10&quot; android:inputType=&quot;numberDecimal&quot; &gt; ...

Как сделать оптимальный размер шрифта для разных устройств - Программирование Android
Каким способом лучше подбирать размер шрифта для приложения, чтобы на всех устройствах более или менее нормально смотрелось. Как-то...

EditText - Программирование Android
Не работает пример взятый из книги myEditText.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.