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

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

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

Поворот экрана. Сохранение данных, но смена размеров компонентов - Программирование Android

17.08.2014, 13:17. Просмотров 1407. Ответов 6
Метки нет (Все метки)

Допустим на экране есть кнопка, на которой есть текст. При создании активити выбирается рандомное число и оно ставится как название кнопки. Также при создании активити устанавливается размер кнопки исходя из ширины и высоты экрана(ширина / 10 = ширина кнопки). При повороте экрана пересоздаеться активити и ставится новое название кнопки ну и опять таки меняется размер(ширина и высота заново высчитываются). Нужно что б при смене ориентации название оставалось, а размер менялся.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2014, 13:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поворот экрана. Сохранение данных, но смена размеров компонентов (Программирование Android):

Поворот Экрана - Программирование Android
У меня есть TableLayout и матрица смолл кнопок 8 на 8 описанных через XML. При повороте экрана часть кнопок не видно. Как можно описать,...

Запретить поворот экрана - Программирование Android
В манифесте указал <application android:screenOrientation="portrait" но экран по прежнему поворачивается...

Кнопки с картинкой и поворот экрана - Программирование Android
Всем. Я второй день как начал разбираться с этим, голова кругом идет. Не могу нагуглить как идеологически правильно сделать так что...

Как отследить поворот экрана - Программирование Android
Есть 2 активити Главный activity_main.xml (на котором есть одна кнопка с id= "myBtn" и текстовое поле), и активити который срабатывает...

Определение размеров экрана устройства - Программирование Android
Хочу отцентрировать несколько кнопок на Activity. Кнопки кидаю в контейнер. LinearLayout myContainer = new LinearLayout(this); ...

Приложение останавливается, когда делаю поворот экрана - Программирование Android
Приложение останавливается, потому что не все элементы использованы из вертикальной ориентации, но мне например в горизонтальной ориентации...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 206
17.08.2014, 13:28 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
avvvl, размер можно задать в layout слое, чтоб кнопка сама изменяла свой размер. Для чего это тебе?

Цитата Сообщение от avvvl Посмотреть сообщение
Нужно что б при смене ориентации название оставалось
У активити есть методы:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
// cnt - переменная типа int
 
// Вызывается перед поворотом экрана
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("count", cnt);
}
 
// Вызывается после поворота экрана
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    cnt = savedInstanceState.getInt("count");
}
1
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 176
17.08.2014, 13:57  [ТС] #3
Как именно и что указать в layout слое что бы кнопка сама меняла размер? А насчет переменной то как быть если их много - каждую заносить?
0
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 206
17.08.2014, 14:01 #4
Цитата Сообщение от avvvl Посмотреть сообщение
то как быть если их много - каждую заносить?
Можешь сделать класс в котором все будешь хранить, и прописать его как static:
Java
1
private static MyClass myClass = new MyClass(); // при повороте экрана это поле не уничтожится, оно статичное
Цитата Сообщение от avvvl Посмотреть сообщение
Как именно и что указать в layout слое что бы кнопка сама меняла размер
Указывай размер в dp, эти единицы на разных экранах имеют разный размер. Либо просто растягивай кнопку по всему слою задавая параметр ширины math_parent.
0
avvvl
3 / 3 / 0
Регистрация: 16.06.2013
Сообщений: 176
17.08.2014, 14:24  [ТС] #5
646kapeh064
А как быть с картинкой? Как её масштабировать под разные экраны, если не известно какая у неё ширина и высота(например много картинок разных размеров)? ну что бы пропорции сохранить?
0
646kapeh064
59 / 58 / 15
Регистрация: 09.12.2013
Сообщений: 206
17.08.2014, 17:42 #6
Цитата Сообщение от avvvl Посмотреть сообщение
А как быть с картинкой?
Тут я тоже не знаю) Я уже создавал тему по этому вопросу, но никто так и не ответил.
0
yura91
30 / 28 / 2
Регистрация: 23.10.2013
Сообщений: 2,272
18.08.2014, 02:49 #7
как программно узнать размеры экрана? можете привести фрагмент кода?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2014, 02:49
Привет! Вот еще темы с ответами:

Поворот куба сначала вокруг оси y с.к. экрана потом вокруг оси x с.к. экрана - Программирование Android
Предыстория: Я пишу 3D игру и там соответственно нужно производить поворот тела в пространстве. нужно делать 2 поворота по горизонтали и...

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

Поддержка приложением различных версий ОС и размеров экрана - Программирование Android
Добрый день! подскажите как реализовать различные версии android и различные размеры экранов в приложении? может есть интересная инфа на...

Поворот экрана и пересоздание обьектов. Как делают матёрые разработчики? - Программирование Android
Разрабатываю приложение, решил делать одно активити и FrameLayout в нем, куда будут помещаться фрагменты (настройки, диалоги и т.д.). Все...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.08.2014, 02:49
Ответ Создать тему
Опции темы

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