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

Равномерное заполнение колонками пространства с помощью GridLayout - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Не выводит данные в textview http://www.cyberforum.ru/android-dev/thread1668355.html
Здравствуйте кто читает. Вот такая проблема. Я с сайта центробанка получаю данные о курсе валют с помощью такого метода: public String getValute(String valute) throws IOException { Calendar date = new GregorianCalendar(); URL bank = new URL("http://www.cbr.ru/currency_base/D_print.aspx?date_req="+new SimpleDateFormat("dd.MM.yyyy").format(date.getTime())); BufferedReader br = new...
Android Активности. Работа в Eclipce. Ошибки или привести код в порядок Работа в Eclipce По заданию необходимо создать активности. В первой располагаются данные о студенте, и кнопки с переходами на две других активности. На второй активности(экране) находятся строка в которой нужно прописать данные и при нажатии на кнопку эти данные отображаются на экране.. На третьей активности необходимо использовать графический режим Canvas Набрать код - набрала.Ошибки не... http://www.cyberforum.ru/android-dev/thread1668323.html
Создание неубиваемого сервиса Android
А как можно создать неубиваемый сервис кроме метода startforaground()? Может какой то флаг можно передать в startCommand чтобы он вообще не убивался? Какой?
Android Момент с ресивером
Вот допустим есть одно приложение и второе. Компонент первого приложения(например активити) посылает sendBroadcast на активити второго приложения. Но принимающее активити во втором приложении в этот момент только создается и ресивер(еще даже интент фильтр не успел создаться) еще не успел зарегистрироваться. Что будет в этом случае сообщение для второго приложения будет потеряно или оно все же...
Android Какие уникальные черты отличают RSS-поток? http://www.cyberforum.ru/android-dev/thread1668001.html
приложение должно определять передаётся ли по введенной ссылке RSS поток. Как это сделать? Какие уникальные черты отличают RSS-поток? использую для парсинга jsoup, есть идея использовать Jsoup.select("rss") и проверять: если пусто, то не rss, если заполнено,то rss. rss=doc.select("rss"); if (rss.toString().equals("")){ boolRss=false; } else...
Android Создание клавиатуры на C# Появилось желание создать свою собственную клавиатуру на HTC One m7. Узнал, что через Xamarin можно создавать приложения для Android, на языке C#. У кого нибудь был опыт создания клавиатур? Нужна помощь. С чего начать)) Ранее программировал на VisualBasic. подробнее

Показать сообщение отдельно
EVIL SnaKe
0 / 0 / 0
Регистрация: 22.03.2016
Сообщений: 2
22.03.2016, 16:39     Равномерное заполнение колонками пространства с помощью GridLayout
Grid:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:grid="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="64dp"
    android:focusable="false"
    android:transitionGroup="false">
    
   <!-- List, empty view and swiperefreshlayout are past here, programmatically -->
 
    <android.support.v7.widget.GridLayout
        android:id="@+id/actionmode_over_menu_grid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minHeight="64dp"
        android:visibility="visible"
        android:background="@color/background_actionmode_pda"
        app:useDefaultMargins="false">
    </android.support.v7.widget.GridLayout>
Layout кнопок которые вставляю в Grid:
XML
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
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/multiselectButtonFrame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="@dimen/multiselect_menu_buttons_padding_vertical"
    android:paddingBottom="@dimen/multiselect_menu_buttons_padding_vertical">
    <!--app:layout_gravity="start">-->
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical|center_horizontal"
            android:orientation="vertical"
            android:gravity="center_horizontal">
            <ImageView
                android:id="@+id/multiselect_action_icon"
                android:layout_width="32dp"
                android:layout_height="32dp"
                android:layout_gravity="center_vertical|center_horizontal"
                android:contentDescription=""
                android:src="@drawable/ic_action_encrypt"/>
            <TextView
                android:id="@+id/multiselect_action_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:ellipsize="end"
                android:textSize="12sp"
                android:text="Button 1"/>
        </LinearLayout>
</FrameLayout>
Так добавляю кнопки:
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
import android.support.v7.widget.GridLayout;
 
...
 
public void init(int configArrayResId) {
        clearMenu();
        String[] actionConfigs = getResources().getStringArray(configArrayResId);
        int buttonsCount = 0;
        secondaryMenuGrid.setColumnCount(calculateColumsNumber(buttonWidthDp));
        Log.i(Constants.TAG_UI, "MultiSelect menu columns number = " + secondaryMenuGrid.getColumnCount());
        MultiselectActionView mOverflowButton = null;
 
        GridLayout.Spec columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f);
        GridLayout.Spec rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f);
        GridLayout.LayoutParams lp = new GridLayout.LayoutParams(rowSpec, columnSpec);
 
        rowCount = calculateRowCount(actionConfigs.length);
        secondaryMenuGrid.setRowCount(rowCount);
        Log.i(Constants.TAG_UI, "MultiSelect menu rows number = " + secondaryMenuGrid.getRowCount());
        int position = 0;
        for(String config: actionConfigs) {
            String[] parts = config.split("\\|");
            Actions action = Actions.valueOf(parts[0]);
            MultiselectActionView msav = new MultiselectActionView(getContext(), action);
 
            if (!action.equals(Actions.EmptyAction)) {
                msav.setOnClickListener(this);
            }
            
            boolean visible = Integer.valueOf(parts[2]).intValue() > 0;
            msav.setVisibility(visible ? View.VISIBLE : View.GONE);
            if (action.equals(Actions.Overflow)) {
                mOverflowButton = msav;
            } else {
                msav.setLayoutParams(lp);
                secondaryMenuGrid.addView(msav, position);
                position++;
            }
        }
 
        if (rowCount>1) {
            mOverflowButton.setLayoutParams(lp);
            secondaryMenuGrid.addView(mOverflowButton, secondaryMenuGrid.getColumnCount()-1);
        }
    }
Вот что получаю в итоге: Равномерное заполнение колонками пространства с помощью GridLayout
 
Текущее время: 06:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru