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

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

Войти
Регистрация
Восстановить пароль
 
vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 380
#1

Квадратный Layout - Программирование Android

02.12.2015, 03:00. Просмотров 303. Ответов 8
Метки нет (Все метки)

Как создать в XML разметке КВАДРАТНЫЙ layout, вычисление размеров можно задать алгоритмом:
ставим height и width == match_parent,
если height>width то height = width (layout квадратный и полностью влезает в родителя)
в противном случае width = height (будет то же, что и выше, зависит от соотношения сторон родителя).
Но как это всё реализовать в xml разметке layout?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2015, 03:00     Квадратный Layout
Посмотрите здесь:

Перерисовка layout - Программирование Android
здравствуйте,может кто сталкивался с такой проблемой имею такой xml <RelativeLayout ...

Имя layout - Программирование Android
У меня одна Activity использует несколько layout. т.е., чтобы поменять страницу, я не меняю активити, а делаю что-то вроде ...

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

Авторазмер в Layout - Программирование Android
Добрый вечер. Столкнулся с проблемой. Необходимо что б был авторазмер для лайаута. В зависимости от размера экрана он сам подгоняет...

Отображение activity в layout - Программирование Android
приветствую. а можно ли в layout или любой view активити_1 отобразить активити_2 ?? у меня задача такая: надо найти среди установленных...

Constraint Layout не работает - Программирование Android
С новым годом, добрый день!) Возникла проблема с использованием Constraint Layout. Изначально использовал Relative Layout. Потом узнал...

Соотношение Activity и layout - Программирование Android
Здравствуйте. Подскажите, будьте добры, по какому принципу создаются Activity? Объясню суть вопроса на элементарном примере. Есть...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Василевский
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 102
02.12.2015, 07:26     Квадратный Layout #2
Я не пробовал.
LinearLayout.setMinimumHeight();
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
02.12.2015, 09:37     Квадратный Layout #3
Цитата Сообщение от vadim23409 Посмотреть сообщение
Но как это всё реализовать в xml разметке layout?
В разметке никак. Можно кастомный layout сделать в onMeasure() реализовать алгоритм, который вы описали.
vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 380
02.12.2015, 11:50  [ТС]     Квадратный Layout #4
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Можно кастомный layout сделать
Можно об этом больше информации?
Pablito
2459 / 1904 / 591
Регистрация: 12.05.2014
Сообщений: 6,712
Завершенные тесты: 1
02.12.2015, 11:56     Квадратный Layout #5
я уже писал, есть новые разметки, где можно указывать размеры в процентах, а так же указать сохранять пропорции
пример, остальное не так сложно нагуглить
http://www.androidauthority.com/usin...ibrary-630715/
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
02.12.2015, 12:58     Квадратный Layout #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Паблито, что-то не понял как сделать квадрат этим способом. Процент от ширины и процент от высоты задать можно, но они ведь разные могут быть.
Цитата Сообщение от vadim23409 Посмотреть сообщение
Можно об этом больше информации?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class SquareLayout extends FrameLayout{
 
    public SquareLayout(Context context) {
        super(context);
    }
 
    public SquareLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
 
    public SquareLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
 
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int width = MeasureSpec.getSize(widthMeasureSpec);
        int height = MeasureSpec.getSize(heightMeasureSpec);
        int size = width > height ? height : width;
        setMeasuredDimension(size, size);
    }
}
Pablito
02.12.2015, 13:12
  #7

Не по теме:

можно сделать, но автор уже отметил лучший ответ и раздал благодарности, его все устраивает

Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
02.12.2015, 13:13     Квадратный Layout #8
Паблито, меня не устраивает)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 14:01     Квадратный Layout
Еще ссылки по теме:

Рисование в отдельном Layout - Программирование Android
Как по нажатию на кнопку нарисовать линию (допустим) в отдельном каком-то layout.

Загрузить картинку в layout - Программирование Android
Доброго времени суток! У меня такая проблема ! Я загружаю из ресурса drawable картинку вот такам образом! imgView = (ImageView)...

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

Layout или fragment - Программирование Android
Всем привет. Хочу сделать заглушку при отсутствии соединения. То есть, есть интернет, показан контент, нет интернета, заглушка. Вопрос по...

Дополнительный Layout в Tollbar - Программирование Android
Как реализовать такое? (p.s. по клику в батон нужно чтобы все img скрывались) Пробую по всякому. Но не получается.. Один...


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

Или воспользуйтесь поиском по форуму:
vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 380
02.12.2015, 14:01  [ТС]     Квадратный Layout #9
Цитата Сообщение от Паблито Посмотреть сообщение
его все устраивает
если засунуть кнопку в этот SquareLayout и приписать ей onClickListener, то приложение запускается с ошибкой

Добавлено через 11 минут
ой, не в этом дело, где бы кнопка не была, ошибка после setOnClickListener
Yandex
Объявления
02.12.2015, 14:01     Квадратный Layout
Ответ Создать тему
Опции темы

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