Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / програмное расположение элементов рядами / 8 сообщений из 8, страница 1 из 1
22.09.2015, 21:22
    #39058851
програмное расположение элементов рядами
добры день. не могу понять как мне реализовать в общем то простую штуку.
расположить элементы ПРОГРАММНО, определенные в файле area_item.xml :

Код: 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.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:gravity="center"
        android:background="#ceffe9f7">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="центр"
            android:id="@+id/area_name" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="8 / 5"
            android:id="@+id/value" />
    </LinearLayout>
</LinearLayout>



внутри FrameLayout (id=fl1) сверху вниз и слева на право по всей доступной ширине FrameLayout

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="ru.it.arketservice.fragments.FragmentRasklad">

    <!-- TODO: Update blank fragment layout -->

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/scrollView5"
        android:layout_gravity="center_horizontal" >

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/fl1"></FrameLayout>
    </ScrollView>

</FrameLayout>



сделал вот такой метод (создаем новый элемент на основе area_item):
Код: java
1.
2.
3.
4.
5.
6.
7.
    private View new_addr_view(int nn, String name) {
        final View v1 = pinflater.inflate(R.layout.area_item, null);
        final int nn_identifer = nn;
        TextView tt = (TextView) v1.findViewById(R.id.area_name);
        tt.setText(name);
        return v1;
    }



для простоты просто передаю нужно количество элементов
и в цикле вызываю метод выше
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    FrameLayout fr;
    private void render_area(int coun){
        int i = 0;
        fr = (FrameLayout)v.findViewById(R.id.os);
        int layout_width        = fr.getWidth();
        int layout_width_item   = 0;
        while (i < coun) {
            View view = new_addr_view(i, "test " + String.valueOf(i));
            if (layout_width_item == 0) {
                layout_width_item = view.getWidth();
            }
            fr.addView(v);
            i++;
        }
    }



в итоге должно получиться так как в приложенном файле.

Собственно проблема в получение размеров контейнера fl1 и размера элемента area_item
и указании смещения для каждого добавляемого в fl1 элемент.
Как получить эти размеры в "dp"?
И как задать смещение для добавляемого в fl1 элемента?

может есть другое решение моей задачи....

Благодарю за помощь.
...
Рейтинг: 0 / 0
22.09.2015, 22:40
    #39058893
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
програмное расположение элементов рядами
GridView
...
Рейтинг: 0 / 0
23.09.2015, 06:15
    #39058972
програмное расположение элементов рядами
а как новым элементам назначать позиции? что то я никак не пойму как програмно работать со свойствами
...
Рейтинг: 0 / 0
23.09.2015, 06:17
    #39058974
програмное расположение элементов рядами
да и врятли решится проблема с изменением ориентации экрана. ведь нужно разместить элементы по всей ширине, переходя на новую строку только если места для следующего не остается.
...
Рейтинг: 0 / 0
23.09.2015, 09:11
    #39059064
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
програмное расположение элементов рядами
...
Рейтинг: 0 / 0
23.09.2015, 12:28
    #39059314
програмное расположение элементов рядами
да, похоже это то что нужно. спасибо. а всеже как получить размеры елемента в dp?
...
Рейтинг: 0 / 0
23.09.2015, 12:38
    #39059334
Джибс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
програмное расположение элементов рядами
Боровиков Степанда, похоже это то что нужно. спасибо. а всеже как получить размеры елемента в dp?

getMeasuredWidth/Height
...
Рейтинг: 0 / 0
25.09.2015, 18:07
    #39061557
програмное расположение элементов рядами
все супер, огромное спасибо.
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / програмное расположение элементов рядами / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]