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

Вписать текст в одну строку - Android

Восстановить пароль Регистрация
Другие темы раздела
Android .java to .smali error http://www.cyberforum.ru/android-dev/thread1858147.html
Здравствуйте, возникла необходимость конвертнуть один файл джава в смали(чтоб апктулу скормить), стандартный jd-gui не может редактировать код java, отредактировал другим способом(через блокнот:D). И вот такие ошибки, как их исправить(компилил батником ниже)? :: http://stackoverflow.com/a/29052019/404271 echo JDK 7 is required if not x%1==x goto doit :usage echo %~n0 ^<Java file...
Android EditText долго отображается Добрый день! Делаю для себя редактор, заодно и учусь писать приложения для Android, и столкнулся с такой проблемой, при открытии файла большого размера (например 17Кб отображается примерно черзе 25 секунд, а 35Кб - через 3 минуты). Вывод делаю в стандартный EditText (MultiLine text). Проверяю всё на Lenovo A820. Буду рад любой помощи! http://www.cyberforum.ru/android-dev/thread1858086.html
Смещается изображение за границы ImageView Android
Моя головная боль - это рисование лайаутов. В очередной раз встал в ступор... Почему изображение из ImageView выходит за рамки самого ImageView'а? И может подскажете, как правильно набросать на экран разных элементов (Изображения, тексты, кнопки, списки) так, чтобы подогнать это под фоновую картинку, на которой уже помечены ровно границы каждого элемента?
Как сделать, чтобы определенный layout включался при определенном языке? Android
К примеру у меня приложение на 3 языках. Как сделать чтобы когда я включал русский язык, показывался другой layout вместо изначально? Вобщем заменение страницы с определенным языком?
Android Как убрать эффект нажатия в TabLayout http://www.cyberforum.ru/android-dev/thread1857952.html
Привет всем! При нажатии на tab на мгновение появляется соответствующий "эффект нажатия". Как сделать так, чтобы просто менялись иконки без каких-либо эффектов. TabLayout <android.support.design.widget.TabLayout android:background="@color/white" android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="45dp" ...
Android Отличия debug режима от release Как в Android Studio включить сборку в режиме release? И чем релиз сборка отличается от дебаг? Какие внешние отличия? Чем отличается apk в двух режимах? И в режиме релиза можно отлаживать проект или нет? подробнее

Показать сообщение отдельно
Antohsa
8 / 12 / 0
Регистрация: 18.10.2016
Сообщений: 112
24.11.2016, 00:04     Вписать текст в одну строку
Здравствуйте, всем.

Вывожу большие числа. Как бы сделать так, чтобы они всегда выводились в одну строку... то есть чем больше число, тем меньше шрифт? Числа от 2 до 30 знаков... Можно ли без перебора это как-то вычитать? Ширину поля в пикселях могу получить, длину выводимой строки тоже знаю, как бы теперь эти параметры связать? Видимо связать надо с setTextSize?]

Заранее, спасибо.

Добавлено через 5 минут
Соответственно, если меняется ориентации экрана - поле для вывода становится в два раза длиннее и хотелось бы шрифт тоже сделать побольше...

Добавлено через 5 часов 11 минут
Почти решил задачу... Выяснил сколько пикселей занимает один символ в зависимости от sp

Сделал такой тест:

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
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
        main =  (LinearLayout) findViewById(R.id.main);
        lparams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        for (int i=0; i<100; i++) {
            t = new TextView(this);
            t.setTextSize(i);
            t.setText("9");
            t.setLayoutParams(lparams);
            main.addView(t);
        }
    }
 
    public void showWidth(View view) {
        int w;
        for (int i=0; i<main.getChildCount()-1; i++) {
            w = main.getChildAt(i).getWidth();
            ((TextView) main.getChildAt(i)).append(" - "+Integer.toString(w)+" - "+Integer.toString(i));
            Log.d(TAG, Integer.toString(w)+" - "+Integer.toString(i));
        }
    }
В компоновке есть кнопка. По нажатии срабатывает showWidth();
В логе:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
11-23 23:56:43.020 17953-17953/ru.ant.spsize D/OUT: 1 - 0
11-23 23:56:43.020 17953-17953/ru.ant.spsize D/OUT: 2 - 1
11-23 23:56:43.020 17953-17953/ru.ant.spsize D/OUT: 3 - 2
11-23 23:56:43.020 17953-17953/ru.ant.spsize D/OUT: 5 - 3
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 7 - 4
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 8 - 5
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 10 - 6
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 12 - 7
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 13 - 8
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 15 - 9
11-23 23:56:43.021 17953-17953/ru.ant.spsize D/OUT: 17 - 10
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 19 - 11
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 20 - 12
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 22 - 13
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 24 - 14
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 25 - 15
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 27 - 16
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 29 - 17
11-23 23:56:43.022 17953-17953/ru.ant.spsize D/OUT: 30 - 18
В итоге вычислил, что ширина одного символа достаточно точно равна w = 1,675*sp;
TextView.setTextSize() - задает размер текста именно в sp.
Теперь зная сколько символов в строке я могу рассчитать нужную ширину поля, а следовательно и нужный sp.

Но это для моего экрана.... Как sp зависит от плотности экрана? Или от разрешения?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru