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

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

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

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

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

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

Анимированный дизайн смены Layout или просто выдвигаемый layout - Программирование Android
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те - Программирование Android
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Не хочет работать в layout, но включается в layout-land - Программирование Android
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : <?xml version="1.0" encoding="utf-8"?> <LinearLayout...

Добавить layout на layout - Программирование Android
Нашёл такой код: layout.add(view); только не понимаю куда его писать. Нужно чтобы один layout можно было использовать в нескольких других. ...

Layout - Программирование Android
Здравствуйте! На layout кидаю изображение через ImaageView, при эмуляции по бокам экрана есть отступ.ImageView (по содержимому,вставлял...

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

8
Василевский
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 102
02.12.2015, 07:26 #2
Я не пробовал.
LinearLayout.setMinimumHeight();
0
Spelcrawler
531 / 501 / 111
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
02.12.2015, 09:37 #3
Цитата Сообщение от vadim23409 Посмотреть сообщение
Но как это всё реализовать в xml разметке layout?
В разметке никак. Можно кастомный layout сделать в onMeasure() реализовать алгоритм, который вы описали.
0
vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 381
02.12.2015, 11:50  [ТС] #4
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Можно кастомный layout сделать
Можно об этом больше информации?
0
Pablito
2616 / 2099 / 652
Регистрация: 12.05.2014
Сообщений: 7,354
Завершенные тесты: 1
02.12.2015, 11:56 #5
я уже писал, есть новые разметки, где можно указывать размеры в процентах, а так же указать сохранять пропорции
пример, остальное не так сложно нагуглить
http://www.androidauthority.com/usin...ibrary-630715/
1
Spelcrawler
531 / 501 / 111
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
02.12.2015, 12:58 #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);
    }
}
1
Pablito
02.12.2015, 13:12
  #7

Не по теме:

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

0
Spelcrawler
531 / 501 / 111
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
02.12.2015, 13:13 #8
Паблито, меня не устраивает)
0
vadim23409
6 / 6 / 0
Регистрация: 24.09.2012
Сообщений: 381
02.12.2015, 14:01  [ТС] #9
Цитата Сообщение от Паблито Посмотреть сообщение
его все устраивает
если засунуть кнопку в этот SquareLayout и приписать ей onClickListener, то приложение запускается с ошибкой

Добавлено через 11 минут
ой, не в этом дело, где бы кнопка не была, ошибка после setOnClickListener
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 14:01
Привет! Вот еще темы с ответами:

4 кнопки и layout - Программирование Android
Всем. Перечитал много разных тем на stackoverflow, там столько советов и советчиков, что голова пухнет. Большая часть советов о том,...

TextViews и Layout - Программирование Android
Здравствуйте! Имеется много генерируемых TextView. Как их можно поставить друг за дугом, что бы получился текст, как в обчной статье? ...

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

Очистить layout - Программирование Android
Доброго времени суток! У меня есть очень большая анкета(около 120 EditText и CheckBox). Мне надо реализовать кнопку Очистить. ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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