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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android SQLite Андроид эмулятор и Железо по разному обрабатывают запросы http://www.cyberforum.ru/android-dev/thread1614531.html
Столкнулся с задачкой по работе с SQLITE в общем в железе воплотить получилось, а в эмуляторе не работает, хочу понять почему. Пожалуйста посмотрите исходники, если есть какие-то комментарии буду...
Программирование Android Jsoup: парсинг странички и заполнение контентом Activity Здравствуйте. В общем столкнулся с такой проблемой. Нужно отпарсить страничку через JSOUP. на страничке может быть простой текст, картинки, заголовки и т.д. нужно вывести это все добро на Activity.... http://www.cyberforum.ru/android-dev/thread1614287.html
Программирование Android Не получается получить путь к карте памяти
Всем привет. У меня вот такой вопрос: storage/sdcard0 это путь к памяти телефона storage/sdcard1 это собственно карта памяти. Функция getExternalStorageDirectory() возвращает storage/sdcard0....
Текст в одну строку Программирование Android
здравствуйте. есть ооооочень длинный текст и нужно, что-бы об шел в одну строку безконечно долго, пока не закончится, и крутился в нужном направлении. вот xml <RelativeLayout ...
Программирование Android Подскажите по расположению элементов (Layouts) http://www.cyberforum.ru/android-dev/thread1613748.html
Подскажите, как расположить элементы, так, чтобы "Кнопка 1" была вверху экарана, а "Кнопки 7, 8" внизу, а Кнопки 2-6 остались по середине экрана? Свойства Top и Bottom установлены <GridLayout...
Программирование Android Как сделать такой элемент? Добрый вечер! Нужно сделать локальный переключатель картинок - как такое сделать? Что нужно смотреть\искать\использовать? На слое есть большая картинка. На этой большой картинке должны... подробнее

Показать сообщение отдельно
paul101
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 1

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

15.12.2015, 20:02. Просмотров 178. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.