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

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

Войти
Регистрация
Восстановить пароль
 
 
verylazy
Заблокирован
#1

Расставить картинку по координатам - Программирование Android

10.12.2013, 13:24. Просмотров 827. Ответов 15
Метки нет (Все метки)

Всем привет.
Парни, не могу понять как быть. У меня есть лаяут...сложный лаяут по которому на экране выставляются картинки.
Я хочу первоначально расставлять картинки по нему, а потом таскать их пальчиком по экрану и оставлять в произвольной позиции.

Другими словами, мне лаяут нужен только для того, что бы при первом запуске картинки выставились как полагается на разных размерах экрана и dpi.

Как дальше? Я че-то не въезжаю в логику. Первое что пришло в голову это "обнулить" этот лаяут. Но перед этим мне как-то нужно вытянуть координаты картинок на экране в абсолютных координатах. Не получается.

Я делаю так - один слушатель на все картинки.
Java
1
2
3
4
5
6
7
8
9
    private class MyTouchListener implements OnTouchListener {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Rect r = new Rect();
            c.getLocalVisibleRect(r);
            System.out.println("tag =" + c.tag + "     " + r.top + "   " + r.left + "    " + r.width() + "     " + r.height());
            return false;
        }
    }
Так же пробовал вытягивать координаты с помощью getLocationInWindow и getLocationOnScreen - они все возвращают относительные координаты.

Если я мутно написал, но у вас есть желание подсказать, так и напишите - объяснил непонятно, я перефразирую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 13:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Расставить картинку по координатам (Программирование Android):

ImageView, как наложить картинку на картинку? - Программирование Android
Всем привет ,такая проблемка ,пытаюсь наложить картинку на картинку ,но выводится только R.drawable.ste view =...

Перейти к полярным координатам и расставить пределы - Математический анализ
Здравствуйте, нужна помощь с интегралом, само задание в заголовке ∬f(x,y)dxdy. a - область, ограниченная прямыми y=x y=-x y=1 (a) ...

Добавить картинку по координатам - C++ Qt
Добрый вечер. Есть несколько картинок. Кидаю все их на сцену(через пиксмапы), а сцену добавляю на графиксвью. Но я хочу чтобы первая...

Как отрисовать картинку по заданным координатам? - Delphi
Здравствуйте ,пожалуйста подскажите , как можно вставить картинку по координатам (х=1 и у=8)?

Как разместить картинку по заданным координатам? - C++ Qt
Вот есть код. QLabel labels; QPixmap pix = QString::fromUtf8("C:/Users/Chaki/Desktop/4/wd.png"); ...

[opengl] Нужно нарисовать картинку по x/y координатам - OpenGL
Есть RGBA картинка (raw формат,т.е массив пикселей). Например char rgbapixs; В Opengl ничего не делал никогда, а сейчас...

15
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
10.12.2013, 15:41 #2
Цитата Сообщение от verylazy Посмотреть сообщение
Так же пробовал вытягивать координаты с помощью getLocationInWindow и getLocationOnScreen - они все возвращают относительные координаты.
Абсолютные возвращают. View v
Java
1
2
3
4
int[] loc = {0, 0};
v.getLocationOnScreen(loc);
int x = loc[0];
int y = loc[1];
1
verylazy
Заблокирован
10.12.2013, 16:06  [ТС] #3
точно спасибо большое, я что-то буксанул...пробовал вчера уже ночью получать координаты из getLocationOnScreen, но видимо уже был не в адеквате
0
verylazy
Заблокирован
16.12.2013, 12:59  [ТС] #4
тут выяснились нюансы - если спрашивать координаты вьюшки в методе onTouch то все работает
если же этот код перенести в onCreate то выдает всегда 0
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
16.12.2013, 14:14 #5
Цитата Сообщение от verylazy Посмотреть сообщение
тут выяснились нюансы - если спрашивать координаты вьюшки в методе onTouch то все работает
если же этот код перенести в onCreate то выдает всегда 0
Скорее всего это связано с тем, что ничего пока еще не успело отрисоваться и разместиться по своим местам.
попробуйте так:

Java
1
2
3
4
5
6
7
8
final int[] loc = {0, 0};
        v.post(new Runnable() {
            @Override
            public void run() {
                v.getLocationOnScreen(loc);
                // тут уже используем полученные координаты
            }
        });
))
1
verylazy
Заблокирован
16.12.2013, 15:00  [ТС] #6
Nак работает, но я все равно не могу понять как мне управлять всеми вьюшками, которые добавлены на корневой layout.
В Objective-C было все просто - главное окно, с которого я мог получить массив subview's и свободно менять их параметры - координаты начала, центра, размеры.

У меня была такая идея:
1. при первом запуске все расчеты для дочерних вьюшек делает layout
2. проходим по вьюшкам и запоминаем их абсолютные координаты
3. удаляем все лаяуты
4. меняем координаты вьюшек как требуется (мне надо их таскать пальцем по экрану и оставлять в любой позиции)

Тут такая жесть для меня - лаяуты, инфлатеры, групвью.....тьфу. Мозг сломать можно.
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
16.12.2013, 15:14 #7
Цитата Сообщение от verylazy Посмотреть сообщение
2. проходим по вьюшкам и запоминаем их абсолютные координаты
3. удаляем все лаяуты
1 пункт не понял, какие расчеты?
2. получить всех детей можно так:
Java
1
2
3
4
5
// if v extends ViewGroup
        for(int i = 0; i < v.getChildCount(); i++) {
            View vChild = v.getChildAt(i);
            // vChild.getLocationOnScreen....
        }
3. v.removeAllViews();

Добавлено через 5 минут
4. В цикле, когда пробегаемся по всем детям подключаем тач листенер v.setOnTouchListener(otl);

В листенере уже производим все действия и смену координат вьюшек

Java
1
2
3
4
5
6
7
8
9
OnTouchListener otl = new OnTouchListener() {
        @Override
        public boolean onTouch(View arg0, MotionEvent arg1) {
 
            
            
            return false;
        }
    };
1
verylazy
Заблокирован
16.12.2013, 15:29  [ТС] #8
Цитата Сообщение от GukZiLLA Посмотреть сообщение
пункт не понял, какие расчеты?
Я тренируюсь на пасьянсе Медичи, точнее Марии Стюарт.
Что бы не делать десяток заготовок картинок для разных плотностей и размеров экрана я создал вот такой layout
Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/tl"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="4dp"
        android:layout_marginTop="4dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:paddingLeft="4dp"
        android:paddingRight="4dp" >
        
        <TextView
            android:id="@+id/card0"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/c6" />
 
        <TextView
            android:id="@+id/card1"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/b6" />
 
        <TextView
            android:id="@+id/card2"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/k6" />
 
        <TextView
            android:id="@+id/card3"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/p6" />
 
        <TextView
            android:id="@+id/card4"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/c7" />
 
        <TextView
            android:id="@+id/card5"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/b7" />
 
        <TextView
            android:id="@+id/card6"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/k7" />
 
        <TextView
            android:id="@+id/card7"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/p7" />
 
        <TextView
            android:id="@+id/card8"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/c8" />
 
        <TextView
            android:id="@+id/card9"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/b8" />
 
        <TextView
            android:id="@+id/card10"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/k8" />
 
        <TextView
            android:id="@+id/card11"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/p8" />
 
    </TableRow>
 
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="4dp"
        android:layout_marginTop="4dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:paddingLeft="4dp"
        android:paddingRight="4dp" >
 
        <TextView
            android:id="@+id/card12"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/c9" />
 
        <TextView
            android:id="@+id/card13"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/b9" />
 
        <TextView
            android:id="@+id/card14"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/k9" />
 
        <TextView
            android:id="@+id/card15"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/p9" />
 
        <TextView
            android:id="@+id/card16"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Xс" />
 
        <TextView
            android:id="@+id/card17"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Xb" />
 
        <TextView
            android:id="@+id/card18"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Xk" />
 
        <TextView
            android:id="@+id/card19"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Xp" />
 
        <TextView
            android:id="@+id/card20"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Bc" />
 
        <TextView
            android:id="@+id/card21"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Bb" />
 
        <TextView
            android:id="@+id/card22"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Bk" />
 
        <TextView
            android:id="@+id/card23"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Bp" />
 
    </TableRow>
 
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="4dp"
        android:layout_marginTop="4dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:paddingLeft="4dp"
        android:paddingRight="4dp" >
 
        <TextView
            android:id="@+id/card24"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Qc" />
 
        <TextView
            android:id="@+id/card25"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Qb" />
 
        <TextView
            android:id="@+id/card26"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Qk" />
 
        <TextView
            android:id="@+id/card27"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Qp" />
 
        <TextView
            android:id="@+id/card28"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Kc" />
 
        <TextView
            android:id="@+id/card29"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Kb" />
 
        <TextView
            android:id="@+id/card30"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Kk" />
 
        <TextView
            android:id="@+id/card31"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Kp" />
 
        <TextView
            android:id="@+id/card32"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Ac" />
 
        <TextView
            android:id="@+id/card33"
            style="@style/RedCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Ab" />
 
        <TextView
            android:id="@+id/card34"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Ak" />
 
        <TextView
            android:id="@+id/card35"
            style="@style/BlackCard"
            android:background="@drawable/card_podlozhka"
            android:text="@string/Ap" />
 
    </TableRow>
 
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:focusableInTouchMode="false"
        android:paddingLeft="24dp"
        android:paddingRight="24dp" >
 
        <TextView
            android:id="@+id/label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="@string/label"
            android:textColor="@color/white"
            android:textSize="16sp" />
 
         <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|left"
            android:text="@string/button1_text" />
 
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center_horizontal"
            android:text="@string/button2_text" />
 
        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|right"
            android:text="@string/button3_text" />
 
    </TableRow>
 
</TableLayout>

drawable, это типа подложка карты, прямоугольник со скругленными краями
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
 
    <corners android:radius="10dp" />
    <solid android:color="@color/white"/>
 
</shape>

и стили для надписей карт
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    <style name="RedCard">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_margin">8dp</item>
        <item name="android:textColor">@color/red</item>
        <item name="android:textSize">16sp</item>
    </style>
 
    <style name="BlackCard">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_margin">8dp</item>
        <item name="android:textColor">@color/black</item>
        <item name="android:textSize">16sp</item>
    </style>

Это извращение формирует три ряда по 12 карт. Все считает layout - отступы, размеры подложки.
Ну а дальше мне надо пальцем их таскать, как реализовать я понимаю. Не понимаю как быть с абсолютными координатами и как отключить все лаяуты, которые я использовал что бы сформировать все эти 36 карт.
Так понятнее?
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
16.12.2013, 15:39 #9
Цитата Сообщение от verylazy Посмотреть сообщение
Это извращение формирует три ряда по 12 карт. Все считает layout - отступы, размеры подложки.
Ну а дальше мне надо пальцем их таскать, как реализовать я понимаю. Не понимаю как быть с абсолютными координатами и как отключить все лаяуты, которые я использовал что бы сформировать все эти 36 карт.
Так понятнее?
Просто ад

Предлагаю использовать GridView + DragListener
1
verylazy
Заблокирован
16.12.2013, 15:57  [ТС] #10
третий заход:

Представим себе стол на котором разложены игральные карты в три ряда по 12 карт.
Размеры стола мы заранее не знаем, но хочется что бы карты были такого размера что бы уместиться на столе.
Я говорю - сделайте размеры карт такими, что бы между ними были отступы и карты не выходили за пределы стола.

Все это за меня делает мой TableLayout со всеми вложенными layout и TextView's.
После того как верховное божество высчитало за меня отступы от краев стола, между картами, между рядами карт и сами размеры карт я хочу все эти размеры запомнить в массив что бы потом я мог менять расположение любой карты. Что то типа:
card[1].setX(100);
card[1].setY(500);

Добавлено через 9 минут
Java
1
2
3
4
5
6
7
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TableLayout tl = (TableLayout) findViewById(R.id.tl);
        for(int i = 0; i < tl.getChildCount(); i++) {
            System.out.println(tl.getChildAt(i).getClass().toString());
        }
выдает в консоль
Код
class android.widget.TableRow
class android.widget.TableRow
class android.widget.TableRow
class android.widget.TableRow
но мне они уже не нужны, они выполнили свою функцию - рассчитали размеры и отступы
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
16.12.2013, 16:02 #11
verylazy, ну, я и предложил использовать GridView, чтобы не городить TableLayout'ами и TableRow'ами.

хотя, лучше наверно GridLayout, в зависимости от того, что требуется.
GridLayout можно подключить отдельной библиотекой, так как вышел он только в 4.0 и не будет работать на более ранних версиях, а библиотекой - будет.

http://developer.android.com/tools/support-library/features.html

......


Проблема-то в чем? В том, что надо размеры запомнить, а не понятно как?
1
verylazy
Заблокирован
16.12.2013, 16:11  [ТС] #12
Если очень коротко то проблема в том, что я не могу понять как потом менять координаты этих вьюшек.

И я очень сомневаюсь, что GridLayout сделает то, что получилось сделать на TableLayout, но сейчас попробую переделать (хотя даже если получится - это не решит основную проблему)
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
16.12.2013, 16:19 #13
Цитата Сообщение от verylazy Посмотреть сообщение
Если очень коротко то проблема в том, что я не могу понять как потом менять координаты этих вьюшек.
Стоп,
они должны после передвижения попадать строго в какие-нибудь ячейки, меняться местами
или чтобы их можно было двигать как захочется? одну увел влево, другую взял разместил поверх третьей и т.п.?

Если первый вариант, то gridLayout + dragListener
Если второй вариант, то я бы лично сделал RelativeLayout + TouchListener

у RelativeLayout вычислял бы размеры, делил на количество карт в одной строке (получая размеры одной карты) и расставлял бы их двумя циклами, один по x, другой по y.

Тут надо двигать саму view или как-бы создавать видимость передвижения view?
1
verylazy
Заблокирован
16.12.2013, 16:45  [ТС] #14
У меня эта программа написана полностью на Java, все работает.
Я создаю главное окно JFrame, в него добавляю JPanel и в нее 36 View по числу карт.
Потом делаю jpanel.setLayout(null);
Так как приложение десктопное то я не заморачивался и сделал размер окна фиксированным и карты расставляю циклом - все просто.

Тут же мне хочется что бы не я занимался расчетами начального положения карт на экране, а все что бы делала разметка. Типа резиновый дизайн. Потом я хочу сделать что то типа jpanel.setLayout(null) что бы мне уже не мешали эти компоновщики, а я сам мог устанавливать координаты в том же onTouch() - то есть двигать карту по экрану в любое положение и оставлять ее там.

И отвечаю на вопросы:
Цитата Сообщение от GukZiLLA Посмотреть сообщение
они должны после передвижения попадать строго в какие-нибудь ячейки, меняться местами
при первом раскладе когда приложение запускается они должны "попадать в ячейки"
потом уже как бы нет ячеек, я уже типа запомнил координаты ячеек для своих нужд
Цитата Сообщение от GukZiLLA Посмотреть сообщение
чтобы их можно было двигать как захочется?
точно!
Цитата Сообщение от GukZiLLA Посмотреть сообщение
у RelativeLayout вычислял бы размеры, делил на количество карт в одной строке (получая размеры одной карты) и расставлял бы их двумя циклами, один по x, другой по y.
я так делал, в десктопном варианте программы
под android это гимор, так как существует очень много комбинаций параметров экранов
это должен делать Layout(ы), после чего мы берем уже готовые вычисленные размеры и положение картинки на экране

Добавлено через 11 минут
в любом случае спасибо, обычно после того как проблема озвучена на форуме - она решается
жаль, что AbsoluteLayout нельзя использовать, моему мозгу легче с ним как-то
0
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
16.12.2013, 16:55 #15
Цитата Сообщение от verylazy Посмотреть сообщение
Тут же мне хочется что бы не я занимался расчетами начального положения карт на экране, а все что бы делала разметка.
Цитата Сообщение от verylazy Посмотреть сообщение
под android это гимор, так как существует очень много комбинаций параметров экранов
это должен делать Layout(ы), после чего мы берем уже готовые вычисленные размеры и положение картинки на экране
Ну, тогда я вижу только один вариант:

- При action_DOWN - считываем координаты вьюхи и размеры v.getWidth() и v.getHeight() - запоминаем куда их надо.
Можно создать массив классов, где будет содержаться ссылка на вьюху + ее размеры
- Удаляем ее из родителя ((ViewGroup)v.getParent()).removeView(v)
- добавляем в другого родителя RelativeLayout, который невидимый и на весь экран
- получаем текущие параметры RelativeLayout par = v.getLayoutParams()
-- задаем ранее полученные размеры par.width и par.height
-- и всучиваем ранее полученные координаты par.leftMargin и par.topMargin
- При action_MOVE получаем MotionEvent event.getRawX() и event.getRawY() и делает так:

RelativeLayout par = v.getLayoutParams();
par.leftMargin = event.getRawX();
par.topMargin = event.getRawY()

Я так раньше делал и работало)

....

Просто если изначально расставлять все в какой-нибудь сетке, то придется удалять из родителя и фактически делать все пункты кроме последнего.

А если сразу размещать в RelativeLayout, то придется только потрудится вычислить его размеры и разместить карты ровненько - это, кстати, проще)

Добавлено через 52 секунды
Цитата Сообщение от verylazy Посмотреть сообщение
жаль, что AbsoluteLayout нельзя использовать, моему мозгу легче с ним как-то
Ак RelativeLayout-то на что )
1
16.12.2013, 16:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2013, 16:55
Привет! Вот еще темы с ответами:

Вставить картинку в image по заданным координатам - Delphi
Привет всем. Подскажите, мне в Image надо вставить картинку (.bmp). Когда вставляешь картинку свойством Picture, она встает по нулевым...

Как нарисовать картинку которая лежит в папке, по определённым координатам? - C++ WinAPI
Как нарисовать картинку которая лежит в папке, по определённым координатам? уже 20 мин штурмую гугл, кругом или неактуальная хрень, или с...

HTML - Надо: вставить картинку в картинку, в эту картинку, ссылку в картинку - HTML, CSS
Вот схема моего сайта. http://s020.***********/i716/1404/8c/254516feacb3.jpg У меня пока что на этой странице есть: 1. Элемент Фон -...

Как преобразовать ссылку на картинку в саму картинку с необходимыми атрибутами? - PHP
Здравствуйте, подскажите как реализовать следующее: к примеру вставляешь ссылку на изображение в текст: &quot;Текст...


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

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

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