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

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

Войти
Регистрация
Восстановить пароль
 
alexjj09
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 61
#1

Кастомный View всегда оказывается слева при landscape ориентации - Программирование Android

17.02.2015, 14:53. Просмотров 308. Ответов 6
Метки нет (Все метки)

Имеется Activity в которой есть кастомный View (В нем с помощью Canvas рисуется картинка).
XML
1
2
3
4
5
6
7
8
9
10
<RelativeLayout
        android:id="@+id/previewParent"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
 
        <com.xxxx.xxx.image
            android:id="@+id/previewScreen"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </RelativeLayout>
На изменении ориентации
Java
1
2
3
4
 RelativeLayout.LayoutParams params3 = (RelativeLayout.LayoutParams) prParent.getLayoutParams();
 
            params3.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
            prParent.setLayoutParams(params3);
Однако картинка всегда остается слева.

Нужно чтобы она была в центре.
Скриншот прикрепил.

Заранее огромное спасибо за помощь!
Миниатюры
Кастомный View всегда оказывается слева при landscape ориентации  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2015, 14:53     Кастомный View всегда оказывается слева при landscape ориентации
Посмотрите здесь:

При любой ориентации экрана табы были всегда под ActionBar - Программирование Android
Уважаемые программисты! Подскажите, пожалуйста как можно сделать так, чтобы табы были всегда под ActionBar? Есть Activity с ActionBar в...

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

Потеря потока при смене ориентации - Программирование Android
Здравствуйте! У меня приложения связывается по Bluetooth с другими устройствами. Всё работает хорошо. НО! Если перевернуть устройство и...

Обнуляется массив при смене ориентации устройства - Программирование Android
Здравствуйте. Суть такова. В активити создается массив из путей к изображениям, которые делаются при помощи камеры устройства. Потом...

Задний фон при смене ориентации экрана - Программирование Android
Здравствуйте! Мне надо чтобы фон не сжимался так, а как в HTML оптимизировал под размер экрана... Заранее спасибо! (Приложение и картинка...

Бесшовное проигрывание видео при смене ориентации - Программирование Android
Предложите пример или подскажите каким образом можно организовать бесшовное проигрывание видео при смене ориентации устройства?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FreakMurderer
-58 / 10 / 2
Регистрация: 21.11.2013
Сообщений: 87
17.02.2015, 15:04     Кастомный View всегда оказывается слева при landscape ориентации #2
Нужно проверить , срабатывает ли твой код вообще при изменении ориентации .

А вообще, правильней поместить новый лейаут в папку layout-land (альбомная ориентация)
alexjj09
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 61
17.02.2015, 17:52  [ТС]     Кастомный View всегда оказывается слева при landscape ориентации #3
Срабатывает точно, потому что кроме этого view еще кнопки и бар справа меняют ориентацию, расположение и т.д.
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
17.02.2015, 19:01     Кастомный View всегда оказывается слева при landscape ориентации #4
Послушайте, что говорит FreakMurderer,
Цитата Сообщение от FreakMurderer Посмотреть сообщение
А вообще, правильней поместить новый лейаут в папку layout-land (альбомная ориентация)
Так будет правильно
alexjj09
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 61
18.02.2015, 11:53  [ТС]     Кастомный View всегда оказывается слева при landscape ориентации #5
никаким образом это не влияет я попробовал, чтобы наверняка - результат тот же. В layout view распологается верно, а канвас на устройстве прибивается влево.
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
18.02.2015, 17:33     Кастомный View всегда оказывается слева при landscape ориентации #6
покажите xml для layout-land
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2015, 20:10     Кастомный View всегда оказывается слева при landscape ориентации
Еще ссылки по теме:

Перезагрузка списка при смене ориентации приложения - Программирование Android
Приветствую. Имеется приложение построено на фрагментах . В приложении есть фрагмент с listview в который загружается информации из базы...

Потеря вывода при смене ориентации экрана - Программирование Android
Калькулятор вывел результат в компонент textview. Стоит поменять ориентацию экрана и весь результат подсчета пропадает. :(

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

SurfaceView при изменении ориентации экрана перегружается - Программирование Android
при создании тетриса возник вопрос. один из моих классов расширяет класс SurfaceView public class TetrisView extends SurfaceView ...


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

Или воспользуйтесь поиском по форуму:
alexjj09
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 61
18.02.2015, 20:10  [ТС]     Кастомный View всегда оказывается слева при landscape ориентации #7
Спасибо, уже нашел решение.
Java
1
2
3
4
 RelativeLayout.LayoutParams params3 = (RelativeLayout.LayoutParams) prParent.getLayoutParams();
 
            params3.setMargins(getWindowManager().getDefaultDisplay().getWidth() / 2 - prParent.getWidth()/2, 0, 0, 0);
            prParent.setLayoutParams(params3);
Тупо, зато работает
Yandex
Объявления
18.02.2015, 20:10     Кастомный View всегда оказывается слева при landscape ориентации
Ответ Создать тему
Опции темы

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