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

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

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

Динамичное заполнение GridLayout, определение размеров - Программирование Android

15.12.2015, 20:02. Просмотров 167. Ответов 0
Метки нет (Все метки)

Мне нужна помощь, я хочу динамично наполнить в GridLayout 9 * 9 кнопок, одинакового размера. Вот код, он наполняет но я установил границы путем подбора вручную так чтобы поместилось, а как чтобы определить правильно??Возможно у кого-то есть уже готовое решение. Спасибо
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class MainActivity extends Activity implements View.OnClickListener {
    GridLayout relatMy;
    Button[][] btn;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.activity_main);
        setContentView(R.layout.propa_auto);
        relatMy = (GridLayout) findViewById(R.id.grdLayout);
        relatMy.setColumnCount(9);
        relatMy.setRowCount(9);
        btn = new Button[9][9];
        for (int i = 0; i < 9; i++) {
            for (int j = 0; j < 9; j++) {
                btn[i][j] = new Button(this);
                btn[i][j].setBackgroundColor(getResources().getColor(R.color.bt_color));
                btn[i][j].setId(Integer.parseInt(Integer.toString(i) + Integer.toString(j)));
                btn[i][j].setOnClickListener((View.OnClickListener) this);
                btn[i][j].setText(Integer.toString(i+1) + Integer.toString(j+1));
                GridLayout.LayoutParams param = new GridLayout.LayoutParams();
                param.height = GridLayout.LayoutParams.WRAP_CONTENT;
                param.width = GridLayout.LayoutParams.WRAP_CONTENT;
                param.setGravity(Gravity.CENTER_VERTICAL);
                param.columnSpec = GridLayout.spec(j);
                param.rowSpec = GridLayout.spec(i);
                param.width=75;
                param.height=75;
                param.setMargins(1,1,1,1);
                relatMy.addView(btn[i][j], param);
            }
        }
 
    }
    @Override
    public void onClick(View v) {
        for (int i = 0; i < 9; i++) {
            for (int j = 0; j < 9; j++) {
                if (btn[i][j].getId() == v.getId()) {
                    Toast.makeText(this, "You presed on" + btn[i][j].getText(), Toast.LENGTH_LONG).show();
                }
            }
       }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2015, 20:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамичное заполнение GridLayout, определение размеров (Программирование Android):

Равномерное заполнение колонками пространства с помощью GridLayout - Программирование Android
Всем добрый вечер! Помогите пожалуйста! Мне нужно программно заполнять GridLayout. Проблема чтобы колонки равномерно заполнили все...

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

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

GridLayout, ширина колонки - Программирование Android
Есть GridLayout и 5 TextView(в одной колонке, на разных строках). Как можно сделать все TextView одинаковой ширины(не указывая явно...

Canvas поверх GridLayout - Программирование Android
Рад всех приветствовать! Чтобы лучше понять мой вопрос, представьте себе игру крестики-нолики. Когда кто-нибудь выигрывает, выигрышный...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2015, 20:02
Привет! Вот еще темы с ответами:

Обращение к View-элементу в GridLayout - Программирование Android
Имеется Gridlayout, созданный программно. Есть RoundButton, созданный в определенной ячейке: //Положили значения Row и Column,...

Разделить GridLayout на равные части - Программирование Android
Как разделить GridLayout на 2х2, чтобы компоненты, которые лежат в ячейках имели размер 1/2 высоты и 1/2 ширины Layout, (если просто...

Загрузка изображений из стандартной галереи в GridLayout - Программирование Android
Всем привет! Нужно достать фоточки с телефона и красиво отобразить в GridLayout, подгружая фоточки асинхронно. но то ли руки кривые, то ли...

GridLayout размеры кнопок пропорционально весу - Программирование Android
Здравствуйте, в GridLayout есть кнопки: как сделать чтобы все кнопки растягивались по горизонтали и вертикали родительского контейнера?...


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

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

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