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

Показать кнопки при клике на нужный элемент - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как работать с API VK / Facebook? http://www.cyberforum.ru/android-dev/thread1617827.html
Добрый день, хочу сделать приложение про универ, в общем разобрался как что делать но есть несколько вопросов, так как я в этом деле новичок буду благодарен за помощь. 1. С помощью чего можно сделать чтобы в приложении отображались новости из группы например вк, facebook, и если можно силки на материалы по которым можно разобраться а то искал не смог ничего хорошего найти. 2. Вот например...
Android Tanktastic Есть такая игрушка. Вешают бан за попытку взлома их приложения. Как они теоретически могут об этом знать? Как можно повторить такую фичу http://www.cyberforum.ru/android-dev/thread1617792.html
Работа со звуком на низком уровне Android
Хочется поработать со звуком в Андроид на низком уровне - например находить/вырезать паузы, увеличить/уменьшить скорость. Как - есть ли какие фрэймворки или пните куда копать?
Android WebView белое поле снизу
Здравствуйте форумчане. Прошу у вас помощи так как сам уже два дня не могу понять в чём проблема. Проблема в следующем. Есть WebView. Как только я кладу туда html всё хорошо красиво укладывается. Но вот если повернуть экран или поменять шрифт с крупного на мелкий. То снизу появляется много белого пространства. В чём может быть проблема . Спасибо за помощь Скриншоты...
Android AttributeSet http://www.cyberforum.ru/android-dev/thread1617611.html
что означает класс AttributeSet в java под андроид?
Android Хочу попробовать писать под Android - выбор языка? Языков особо не знаю никаких, так что в каком-то смысле все равно с чего начинать :) Понимаю, что нативная Java. Но, честно говоря, ее не хочется изучать, да и ООП вообще как таковое. C# не хочется из тех же соображений. Scala уже интереснее, но отпугивает миф о сложности и навороченности. Clojure вот хотелось бы попробовать - что скажете? Или я с таким выбором рискую остаться один со... подробнее

Показать сообщение отдельно
Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 297
Завершенные тесты: 1
20.12.2015, 15:43  [ТС]     Показать кнопки при клике на нужный элемент
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Ну а почему кнопки не появляются не понятно, нужно весь код посмотреть.
Ну если скидывать весь код, то выйдет примерно так:

Урезанная часть XML файла. где нужны необходимые элементы.
1) ImageView
android:id="@+id/img"
Это большая картинка (карта). Статична, не двигается, на весь экран по размеру слоя.

2) ImageView
android:id="@+id/imgt"
Это мелкая картинка (здания) - по нажатию на этой картинке - должны появляться кнопки (переключатели этажа). Причём не просто нажатию, а именно с координатами = точка, где было нажатие + несколько пикселей левее + пополам, чтобы две кнопки были по середине.

3 и 4) ImageButton - кнопки для переключения этажей. начальное положение (0, 0) и (45, 0).
Здесь в разметке нет View.GONE.

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
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="1973dp"
    android:layout_height="1700dp"
    android:background="#ffffff"
    android:gravity="center"
    android:id="@+id/maprl">
 
    <RelativeLayout
        android:background="#ffffff"
        android:layout_width="1973dp"
        android:layout_height="1700dp"
        android:id="@+id/zoomrl"
        android:gravity="center">
 
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/img"
            android:background="#ffffff"
            android:scaleType="center"
            android:src="@drawable/maina5" />
 
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imgt"
            android:background="#ffffff"
            android:layout_marginTop="407dp"
            android:layout_marginLeft="1428dp"
            android:scaleType="center"
            android:src="@drawable/t6" />
 
        <ImageButton
            android:id="@+id/flooruptep"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:src="@drawable/up"
            android:background="@drawable/floorbtn"
            android:layout_marginTop="0dp"
            android:layout_marginLeft="0dp" />
 
        <ImageButton
            android:id="@+id/floordowntep"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:src="@drawable/down"
            android:background="@drawable/floorbtn"
            android:layout_marginTop="45dp"
            android:layout_marginLeft="0dp"/>
 
    </RelativeLayout>
 
</RelativeLayout>
Далее код java:
К сожалению весь код всё равно не могу показать, покажу только наиболее важные (значимые) участки кода, где происходят изменения картинки.

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
106
107
108
109
110
111
112
113
114
package c.ru.co;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Toast;
 
public class Map extends Activity{
 
    // Размеры изображения, в данном случае - карты первого этажа (самая большая неизменяемая картинка)
    int bitmapWidth = 1973;
    int bitmapHeight = 1700;
 
    ImageButton fluptep, fldowntep; // кнопки переключения этажей
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        // Отключили ActionBar
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        // Отключили Title приложения
        requestWindowFeature(Window.FEATURE_NO_TITLE);
 
        setContentView(R.layout.map_layout);
 
        fluptep = (ImageButton) findViewById(R.id.flooruptep);
        fldowntep = (ImageButton) findViewById(R.id.floordowntep);
 
// сделали невидимой только 1 кнопку. верхнюю
        fluptep.setVisibility(View.GONE);
 
 
        ////////////////////////////////////////////////////////
        // Слой RelativeLayout, scroll, scale
        ////////////////////////////////////////////////////////
 
        final RelativeLayout zoomRl = (RelativeLayout) this.findViewById(R.id.zoomrl);
 
        zoomRl.setOnTouchListener(new View.OnTouchListener() {
 
            public boolean onTouch(View arg0, MotionEvent event) {
 
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN: // Нажатие
 
 
// делает две кнопки невидимыми
                        fluptep.setVisibility(View.GONE);
                        fldowntep.setVisibility(View.GONE);
 
                        break;
 
                    case MotionEvent.ACTION_MOVE: // Движение
                        
                        break;
 
                    case MotionEvent.ACTION_UP: // Отпускание
                       
 
                        break;
                }
 
                return true;
            }
        });
 
       
 
        ////////////////////////////////////////////////////////
        // Картинка здания
        ////////////////////////////////////////////////////////
 
        final ImageView imgTep = (ImageView) this.findViewById(R.id.imgt);
 
        imgTep.setOnTouchListener(new View.OnTouchListener() {
            public boolean onTouch(View arg0, MotionEvent event) {
                // Нажатие
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
 
                    Toast.makeText(getBaseContext(), "Теплофак", Toast.LENGTH_SHORT).show();
 
                    RelativeLayout.LayoutParams btnParams1 = new RelativeLayout.LayoutParams(fluptep.getWidth(), fluptep.getHeight());
                    btnParams1.leftMargin = (int) event.getX() + (int) (1435 * appDensity);
                    btnParams1.topMargin = (int) event.getY() + (int) (367 * appDensity);
                    fluptep.setLayoutParams(btnParams1);
 
                    RelativeLayout.LayoutParams btnParams2 = new RelativeLayout.LayoutParams(fldowntep.getWidth(), fldowntep.getHeight());
                    btnParams2.leftMargin = (int) event.getX() + (int) (1435 * appDensity);
                    btnParams2.topMargin = (int) event.getY() + (int) (412 * appDensity);
                    fldowntep.setLayoutParams(btnParams2);
 
 
// картинки показываются, но т.к. первая картинка из onCreate скрыта - не показывается. Нижняя показывается.
                    fluptep.setVisibility(View.VISIBLE);
                    fldowntep.setVisibility(View.VISIBLE);
                }
 
                return true;
            }
        });
 
    }
}

Вот такие приколы с этой кнопкой.
 
Текущее время: 10:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru