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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android SQLite Андроид эмулятор и Железо по разному обрабатывают запросы http://www.cyberforum.ru/android-dev/thread1614531.html
Столкнулся с задачкой по работе с SQLITE в общем в железе воплотить получилось, а в эмуляторе не работает, хочу понять почему. Пожалуйста посмотрите исходники, если есть какие-то комментарии буду рад. Повторюсь в Железе на GalaxySIV все работает отлично и никаких проблем я не вижу. В эмуляторе работает чуть лучше чем никак. В коде есть все комментарии по этому поводу. Кто готов помочь и...
Программирование Android Jsoup: парсинг странички и заполнение контентом Activity Здравствуйте. В общем столкнулся с такой проблемой. Нужно отпарсить страничку через JSOUP. на страничке может быть простой текст, картинки, заголовки и т.д. нужно вывести это все добро на Activity. Но вот с реализацией проблеммы. Не могу додуматься как это сделать... сначала я написал этот код: articleContent = HTMLPage.select("article.b-typo p"); if... http://www.cyberforum.ru/android-dev/thread1614287.html
Программирование Android Не получается получить путь к карте памяти
Всем привет. У меня вот такой вопрос: storage/sdcard0 это путь к памяти телефона storage/sdcard1 это собственно карта памяти. Функция getExternalStorageDirectory() возвращает storage/sdcard0. Подскажите, как мне получить путь к карте sdcard1?
Текст в одну строку Программирование Android
здравствуйте. есть ооооочень длинный текст и нужно, что-бы об шел в одну строку безконечно долго, пока не закончится, и крутился в нужном направлении. вот xml <RelativeLayout android:id="@+id/news_holder" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="top" ...
Программирование Android Подскажите по расположению элементов (Layouts) http://www.cyberforum.ru/android-dev/thread1613748.html
Подскажите, как расположить элементы, так, чтобы "Кнопка 1" была вверху экарана, а "Кнопки 7, 8" внизу, а Кнопки 2-6 остались по середине экрана? Свойства Top и Bottom установлены <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" ...
Программирование Android Как сделать такой элемент? Добрый вечер! Нужно сделать локальный переключатель картинок - как такое сделать? Что нужно смотреть\искать\использовать? На слое есть большая картинка. На этой большой картинке должны располагаться несколько маленьких. Мелкие картинки будут находиться одна под одной. т.е., поулчается так, что мы можем увидеть только 1 маленькую картинку, но их гораздо больше. Переключатель должен менять... подробнее

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

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

15.12.2015, 20:02. Просмотров 143. Ответов 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();
                }
            }
       }
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru