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

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

Войти
Регистрация
Восстановить пароль
 
den_droid
6 / 7 / 1
Регистрация: 18.05.2015
Сообщений: 191
#1

Некорректное перетаскивание картинки и не создаются 2 layout - Программирование Android

25.10.2015, 20:48. Просмотров 185. Ответов 0
Метки нет (Все метки)

Вобщем, 2 проблемы в 1 коде.
1) Не получается создать 2 LinearLayout
2) При перетаскивании картинки, изменяет размеры сам Layout.
Вот код:
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
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
// Прошу помочь. Коментарии прелогаються.
package com.dendroid.TheSlotMachine;
 
import android.app.*;
import android.os.*;
import android.view.ViewGroup.*;
import android.widget.*;
import android.graphics.drawable.*;
import android.view.*;
 
public class MainActivity extends Activity
{
    int status = 0;
    private int mX;
    private int mY;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        
        super.onCreate(savedInstanceState);
        LayoutParams dd_wrap_content = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        LayoutParams dd_fill_parent = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);            
        LayoutParams dd_100 = new LinearLayout.LayoutParams(100, 100);                      
        LinearLayout ddLayout = new LinearLayout(this);
        ddLayout.setOrientation(LinearLayout.VERTICAL);
        ddLayout.setGravity(Gravity.CENTER_HORIZONTAL);
        ddLayout.setLayoutParams(dd_100);
        BitmapDrawable ddLinLayout = (BitmapDrawable)
        getResources().getDrawable(R.drawable.ic_launcher); 
        ddLayout.setBackground(ddLinLayout);
        
        LinearLayout ddLayout2 = new LinearLayout(this);
        ddLayout2.setOrientation(LinearLayout.VERTICAL);
        ddLayout2.setGravity(Gravity.CENTER_HORIZONTAL);
        ddLayout2.setLayoutParams(dd_100);
        
        final TextView ddTitleTextView = new TextView(this);
        ddTitleTextView.setText("Hello no layout!");
        ddTitleTextView.setLayoutParams(dd_wrap_content);
        ddLayout.addView(ddTitleTextView);
        Button ddBtn = new Button(this);
        ddBtn.setText("Tv test");
        ddBtn.setLayoutParams(dd_wrap_content);
        ddLayout.addView(ddBtn);
        final ImageView img = new ImageView(this);
        img.setImageResource(R.drawable.ic_launcher);
        img.setLayoutParams(dd_wrap_content);
        ddLayout.addView(img);
        OnTouchListener lImg = new OnTouchListener() {
 
            @Override
            public boolean onTouch(View view, MotionEvent event)
            {
                status = 1;
                ddTitleTextView.setText("Нажата кнопка img");
                if(status==1) // any event from down and move
                {
                    final int X = (int) event.getRawX();
                    final int Y = (int) event.getRawY();
                    switch (event.getAction() & MotionEvent.ACTION_MASK) {
 
                            //ACTION_DOWN срабатывает при прикосновении к экрану,
                            //здесь определяется начальное стартовое положение объекта:
                        case MotionEvent.ACTION_DOWN:
                            LinearLayout.LayoutParams lParams = (LinearLayout.LayoutParams) view.getLayoutParams();
                            mX = X - lParams.leftMargin;
                            mY = Y - lParams.topMargin;
                            break;
 
                            //ACTION_MOVE обрабатывает случившиеся в процессе прикосновения изменения, здесь
                            //содержится информация о последней точке, где находится объект после окончания действия прикосновения ACTION_DOWN:
                        case MotionEvent.ACTION_MOVE:
                            LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) view.getLayoutParams();
                            layoutParams.leftMargin = X - mX;
                            layoutParams.topMargin = Y - mY;
                            layoutParams.rightMargin = -250;
                            layoutParams.bottomMargin = -250;
                            img.setLayoutParams(layoutParams);
                            break;
                    }
                    return true;
 
                }
                return false;
            }
        };
        img.setOnTouchListener(lImg);
        OnClickListener ddBtn1 = new OnClickListener() {
            @Override
            public void onClick(View v) {
                ddTitleTextView.setText("Нажата кнопка");
            }
        };
        ddBtn.setOnClickListener(ddBtn1);
    
        ScrollView ddScroll = new ScrollView(this);
        ddScroll.setBackgroundColor(android.R.color.transparent);
        ddScroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                                LayoutParams.FILL_PARENT));
        ddScroll.addView(ddLayout);
        ddScroll.addView(ddLayout2);
        setContentView(ddScroll);
    }
}
Добавлено через 5 часов 45 минут
Отлично. 2 лойота создал. Осталась 1 проблемма
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2015, 20:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Некорректное перетаскивание картинки и не создаются 2 layout (Программирование Android):

Некорректное отображение приложения в Graphic Layout и на телефоне - Программирование Android
Должно быть : Добавлено через 9 минут На эмуляторе все корректно отбражается на телефоне показывается только кусок приложения ...

Анимированный дизайн смены Layout или просто выдвигаемый layout - Программирование Android
Ну, думаю тут и так всё понятно. Я просто не знаю, какие ключевые слова вводить в гугл, всё что попадается это Drawer А мне нужнен просто...

Не хочет работать в layout, но включается в layout-land - Программирование Android
доброе утро ! пишу первое приложение. обычный мейн.хмель выглядит вот так : <?xml version="1.0" encoding="utf-8"?> <LinearLayout...

At android.widget.LinearLayout.setChildFrame Layout в Layout-те - Программирование Android
Нужен совет бывалых. У меня есть активити которое запускается с мейн активити, на нем лежит Layout (горизонтальный) в котором 2й...

Добавить layout на layout - Программирование Android
Нашёл такой код: layout.add(view); только не понимаю куда его писать. Нужно чтобы один layout можно было использовать в нескольких других. ...

Перетаскивание картинки в exe - C++
Здравствуйте. Помогите пожалуйста, мне нужно пр запуске консоли с++ иметь возможность перетаскивать на нее картинки, чтобы в дальнейшем...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2015, 20:48
Привет! Вот еще темы с ответами:

Перетаскивание картинки в кнопку - C#
Помогите пожалуйста разобраться... Создаю статическую картинку, нужно чтоб перетаскивалась. Создаю статическую кнопку, нужно чтоб...

Некорректное отображение картинки - Windows XP
Всем привет. Ребят столкнулся с такой проблемой... Создал картинку с размером 1x32 залил черным цветом... Сохранил все это дело. ...

Некорректное отображение картинки монитора - Компьютерное железо
Всем привет! Периодически возникают проблемы с отображением картинки монитора. Начал замечать закономерность проявления проблемы:...

Очистить форму при перетаскивание цветных кусочков картинки на черно белое фото - Delphi
Добрый день уважаемые форумчане! Прошу помощи!!!!!! Задача-перетаскивание цветных кусочков картинки на черно белое фото. что...


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

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

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