Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
#1

Непонятки со шрифтами - Android

29.01.2016, 10:16. Просмотров 535. Ответов 21
Метки нет (Все метки)

Всем добра. Подскажите в чем может быть проблема?
Добавляю свой шрифт в проект, а мне "абру-кодабру" выдает

Кликните здесь для просмотра всего текста
Непонятки со шрифтами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 10:48     Непонятки со шрифтами #2
Цитата Сообщение от apel70 Посмотреть сообщение
Добавляю свой шрифт в проект, а мне "абру-кодабру" выдает
ну у меня тоже к примеру кракозябры выдает если открыть через встроенный эдитор, но это же не показатель того что в приложении при использовании этого шрифта тоже будет каша.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
29.01.2016, 10:50     Непонятки со шрифтами #3
apel70, попробуйте любой бинарный файл открыть блокнотом - то же самое будет. Но это же не значит, что он не работает.
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
29.01.2016, 11:05  [ТС]     Непонятки со шрифтами #4
Вообще я пытаюсь добавить свой шрифт в проект, но приложение падает на стадии запуска.
Вот мой код (делал по примеру с youtube)

Java
1
2
3
Typeface typeface = Typeface.createFromAsset(getAssets(), "B.TTF");
        TextView textView = (TextView) findViewById(R.id.textView1);
        textView.setTypeface(typeface);
Тогда не понимаю почему не работает(((
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 11:10     Непонятки со шрифтами #5
Цитата Сообщение от apel70 Посмотреть сообщение
Typeface typeface = Typeface.createFromAsset(getAssets(), "B.TTF");
так "B.TTF" или "B52.TTF"?
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
29.01.2016, 11:15  [ТС]     Непонятки со шрифтами #6
androbro, Без разницы я уже всяко разно попробовал, падает и все(((
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 11:19     Непонятки со шрифтами #7
Цитата Сообщение от apel70 Посмотреть сообщение
Без разницы я уже всяко разно попробовал, падает и все(((
ну как это без разница, у файла есть одно имя, вот по нему и надо к нему обращаться.
попробуйте переименуйте его просто на "b.ttf".
да и приведите весь код активити где устанавливаете этот шрифт.
да и лог ошибки было бы хорошо привести.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
29.01.2016, 11:21     Непонятки со шрифтами #8
apel70, скорее всего заработает, если расширение написать маленькими буквами и в коде задавать имя файля без расширения т.е. просто "b".
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
29.01.2016, 11:24  [ТС]     Непонятки со шрифтами #9
androbro, Вот код:

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
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[SPOILER]Typeface typeface = Typeface.createFromAsset(getAssets(), "B52.ttf");
        TextView textView = (TextView) findViewById(R.id.textView1);
        textView.setTypeface(typeface);
 
 
 
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        toolbar.setTitle("Карточные Фокусы");
 
 
 
 
        drawerResult = new Drawer()
                .withActivity(this)
                .withHeader(R.layout.header_isy)
                .withToolbar(toolbar)
                .addDrawerItems(
                        new PrimaryDrawerItem().withName(R.string.history)
                                .withIdentifier(1),
                        new PrimaryDrawerItem().withName(R.string.slovar)
                                .withIdentifier(2),
                        new PrimaryDrawerItem().withName(R.string.settings)
                                .withIdentifier(3)
 
                )
                .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
                                                   @Override
                                                   public void onItemClick(AdapterView<?>
                                                                                   adapterView,
                                                                           View view,
                                                                           int position, long id,
                                                                           IDrawerItem drawerItem) {
                                                       if (drawerItem instanceof Nameable) {
 
                                                           Toast.makeText(MainActivity.this,
                                                                   MainActivity.this.getString((
                                                                           (Nameable) drawerItem).getNameRes()),
                                                                   Toast.LENGTH_SHORT).show();
                                                       }
                                                       switch (position) {
                                                           case 1:
                                                               Intent intent = new Intent(MainActivity.this, History.class);
                                                               startActivity(intent);
                                                               break;
                                                           case 2:
                                                               Intent intent1 = new Intent(MainActivity.this, Slovar.class);
                                                               startActivity(intent1);
                                                               break;
                                                           case 3:
                                                               Intent intent2 = new Intent(MainActivity.this, Settings.class);
                                                               startActivity(intent2);
                                                               break;
 
                                                       }
 
                                                       try {
                                                           Intent int_rate = new Intent(Intent.ACTION_VIEW, Uri.parse(getApplicationContext()
                                                                   .getPackageName()));
                                                           int_rate.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                                           getApplicationContext()
                                                                   .startActivity(int_rate);
                                                       } catch (Exception ignored) {
 
                                                       }
                                                   }
 
                                               }
 
 
                ).build();
                }
 
    public void OnClick1(View view){
 
        Intent intent=new Intent(MainActivity.this, Isy.class);
        startActivity(intent);
 
    }
    public void OnClick2(View view){
 
        Intent intent=new Intent(MainActivity.this, Hard.class);
        startActivity(intent);
 
    }
    public void OnClick3(View view){
 
        Intent intent=new Intent(MainActivity.this, Volt.class);
        startActivity(intent);
    }
 
 
 
 
        @Override
    public void onBackPressed() {
 
        if (back_pressed + 2000 > System.currentTimeMillis())
            super.onBackPressed();
        else
            Toast.makeText(getBaseContext(), "Что бы выйти нажмите кнопку Назад дважды",
                    Toast.LENGTH_SHORT).show();
        back_pressed = System.currentTimeMillis();
 
        if (drawerResult.isDrawerOpen()) {
            drawerResult.closeDrawer();
 
        }
 
    }
 
    private static long back_pressed;
 
 
 
}
[/SPOILER]
Вот Log:
Кликните здесь для просмотра всего текста
01-29 14:24:23.666 23823-23823/timonpumba.myapplication E/Zygote: Zygote: error closing descriptor
libcore.io.ErrnoException: close failed: EBADF (Bad file number)
at libcore.io.Posix.close(Native Method)
at libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
at com.android.internal.os.ZygoteInit.closeServerSocket(ZygoteInit.java:224)
at com.android.internal.os.ZygoteConnection.handleChildProc(ZygoteConnection.java:879)
at com.android.internal.os.ZygoteConnection.runOnce(ZygoteConnection.java:242)
at com.android.internal.os.ZygoteInit.runSelectLoop(ZygoteInit.java:704)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)
01-29 14:24:23.950 23823-23823/timonpumba.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: timonpumba.myapplication, PID: 23823
java.lang.RuntimeException: Unable to start activity ComponentInfo{timonpumba.myapplication/timonpumba.myapplication.MainActivity}: java.lang.RuntimeException: native typeface cannot be made
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: native typeface cannot be made
at android.graphics.Typeface.<init>(Typeface.java:175)
at android.graphics.Typeface.createFromAsset(Typeface.java:149)
at timonpumba.myapplication.MainActivity.onCreate(MainActivity.java:28)
at android.app.Activity.performCreate(Activity.java:5264)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)*
at android.app.ActivityThread.access$800(ActivityThread.java:151)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)*
at android.os.Handler.dispatchMessage(Handler.java:110)*
at android.os.Looper.loop(Looper.java:193)*
at android.app.ActivityThread.main(ActivityThread.java:5292)*
at java.lang.reflect.Method.invokeNative(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:515)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)*
at dalvik.system.NativeStart.main(Native Method)*
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 11:32     Непонятки со шрифтами #10
apel70, так что пробуйте переименовать шрифт в нижний регистр, да и цифры тоже можно удалить.
да и папку "fonts" не мешало бы завести по всем правилам.
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
29.01.2016, 11:38     Непонятки со шрифтами #11
Цитата Сообщение от apel70 Посмотреть сообщение
native typeface cannot be made
Можно загуглить ошибку, там по первой ссылке есть несколько вариантов решения.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 11:42     Непонятки со шрифтами #12
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Можно загуглить ошибку, там по первой ссылке есть несколько вариантов решения.
да кстати качнул шрифт, тоже такая же ошибка, мб просто андроид его не переваривает
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
29.01.2016, 11:48  [ТС]     Непонятки со шрифтами #13
androbro, Спасибо за советы, но не работает(
Может дело в этом?
Кликните здесь для просмотра всего текста
Caused by: java.lang.RuntimeException: native typeface cannot be made
at android.graphics.Typeface.<init>(Typeface.java:175)
at android.graphics.Typeface.createFromAsset(Typeface.java:149)
at timonpumba.myapplication.MainActivity.onCreate(MainActivity.java:29)
at android.app.Activity.performCreate(Activity.java:5264)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)*
at android.app.ActivityThread.access$800(ActivityThread.java:151)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)*
at android.os.Handler.dispatchMessage(Handler.java:110)*
at android.os.Looper.loop(Looper.java:193)*
at android.app.ActivityThread.main(ActivityThread.java:5292)*
at java.lang.reflect.Method.invokeNative(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:515)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)*
at dalvik.system.NativeStart.main(Native Method)*
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 11:51     Непонятки со шрифтами #14
Цитата Сообщение от apel70 Посмотреть сообщение
Может дело в этом?
ну так дело в этом. Spelcrawler же написал уже.
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
29.01.2016, 11:52  [ТС]     Непонятки со шрифтами #15
Цитата Сообщение от androbro Посмотреть сообщение
мб просто андроид его не переваривает
C другими шрифтами та же петрушка
Паблито
2064 / 1806 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 1
29.01.2016, 11:52     Непонятки со шрифтами #16
я тоже скачал этот шрифт и все работает
Название: Untitled-1.jpg
Просмотров: 17

Размер: 2.3 Кб
Паблито
2064 / 1806 / 562
Регистрация: 12.05.2014
Сообщений: 6,432
Завершенные тесты: 1
29.01.2016, 11:55     Непонятки со шрифтами #17
папка assets должна быть на том же уровне что и папка java, а не в папке res
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 12:02     Непонятки со шрифтами #18
Цитата Сообщение от Паблито Посмотреть сообщение
я тоже скачал этот шрифт и все работает
ну так откуда качали, как прописывали?
просветите

Добавлено через 6 минут
Цитата Сообщение от androbro Посмотреть сообщение
да кстати качнул шрифт, тоже такая же ошибка, мб просто андроид его не переваривает
ааа, точняк, все работает, вставлял не в тот проект))
apel70
5 / 6 / 0
Регистрация: 27.08.2015
Сообщений: 78
29.01.2016, 12:06  [ТС]     Непонятки со шрифтами #19
НИШТЯК, все заработало))))
Всем БАБЛА))))))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2016, 12:14     Непонятки со шрифтами
Еще ссылки по теме:

Непонятки с адаптером списка Android
Непонятки с Адмоб Android
Косяк со шрифтами HTML, CSS
Что со шрифтами случилось? 1С
NDrawer c RecyclerView есть непонятки? Android

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

Или воспользуйтесь поиском по форуму:
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 835
29.01.2016, 12:14     Непонятки со шрифтами #20
что кстати интересно:
на android 4.0.4 кидает вот эту ошибку native typeface cannot be made что в принципе не особо понятно;
на android 5.0.2 уже выдал font asset not found, что сразу говорит о сути проблемы.
Yandex
Объявления
29.01.2016, 12:14     Непонятки со шрифтами
Ответ Создать тему
Опции темы

Текущее время: 05:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru