Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Программирование Android Почему не отрисовывается картинка? Написал класс, наследующий ViewSurface MainView. Написал метод onDraw, в котором поле заливается белым цветом, и вызывается метод draw спрайта. Создал класс с bitmap'ом для спрайтовой анимации. Написал для него метод draw. Вызываю его, как написал выше, в методе onDraw класса MainView. Написал класс потока для отрисовки MainThread. Cловом, всё, как в книжках учат. :) Но!.. Если вызываю из... https://www.cyberforum.ru/ android-dev/ thread1661928.html Программирование Android WebView упорно отказывается выполнять JS
Добрый день, форумчане! Наверное перейду сразу к проблеме. Есть код WebView mWebView; mWebView = (WebView)frag2.findViewById(R.id.webplat); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setBackgroundColor(Color.parseColor("#f7e16b"));
Программирование Android Ошибка EndofMemory в Android Иногда, при переходе на другую активность вылетает ошибка "EndofMemory". Приложение закрывается и в тот же момент открывается на той же активности. Какие могут быть варианты решения этой проблемы? Нашел только вариант через .bin, но что-то мне не очень понятно, что мы там меняем. Заранее спасибо! https://www.cyberforum.ru/ android-dev/ thread1661784.html Программирование Android The connection to adb is down and a severe error has occured. you must restart adb and eclipse https://www.cyberforum.ru/ android-dev/ thread1661753.html
Впервый раз лабы запускала, как только сделала - все было нормально.. А теперь выбивает подобное сообщение: the connection to adb is down and a severe error has occured. you must restart adb and eclipse вышла из эклипса - перезагрузила, запустила вновь, но все тоже.. в интернете на подобную ошибку очень мало инфы. не могу разобраться что делать то.. помогите человечку путным советом..
ViewPager (Tabbed activity) как добавить данные на сраницы? Программирование Android
Среда андройд студио. "я создал" проект из коробки tabbed activity, автоматом создалось 2 xml, main отвечает за виджеты ,а второй за данные,поправьте меня,если не так что-то, на fragment _main я разместил свои данные,свайп в право работает и влево так же и вот что я хочу спросить: как мне добавить на второй,3,4 ит.д экраны другие данные? Нашел в классе PlaceholderFragment такой код:...
Программирование Android Видео в приложении Всем доброго времени суток. Намереваюсь создать приложение с видео контентом внутри, что бы можно было в любой момент его просматривать, без интернета. Разумно ли будет хранить видео внутри приложения? или же лучше воспроизводить его на устройстве пользователя через интернет. Общая длина всех видео роликов будет примерно мин. 40. https://www.cyberforum.ru/ android-dev/ thread1661570.html
Программирование Android Вылетает приложение при нажатии на кнопку https://www.cyberforum.ru/ android-dev/ thread1661473.html
Здравствуйте, столкнулся с проблемой, что при нажатии на кнопку приложение вылетает. Программирую в Android Studio, кто нибудь сталкивался с таким? Прикладываю код: Событие при выполнении которого приложение вылетает: View.OnClickListener clickSek=new View.OnClickListener() { @Override public void onClick(View v) { ...
JSON в SQLite Программирование Android
Подскажите, как правильно передать данные для записи в базу. В этом методе собственно сам json public void invoke() { AsyncHttpClient client = new AsyncHttpClient(); client.get("http://*****.ddns.net:8080/get", new AsyncHttpResponseHandler() { @Override public void onSuccess(int statusCode, Header headers, byte response) { try { ...
Программирование Android Android для начинающих https://www.cyberforum.ru/ android-dev/ thread1661431.html
Всем привет. Хотел узнать какие языки программирования надо знать для полноценной разработки игр для андроида ? Java конешно это известно... Как насчёт javascript ? Html ? Xml ? Буду рад любым советам и критики))
Программирование Android AsynkLoader и поворот активити https://www.cyberforum.ru/ android-dev/ thread1661417.html
Если AsynkLoader был запущен из активити а потом пользователь сделал поворот экрана.Активити пересоздалось. Так вот при пересоздании AsynkLoader получит ссылку на новое активити или по прежнему будет привязан к старому?
Вывести из сна Программирование Android
Нужно разбудить устройство из service, даже если находится в спячке service public void onCreate() { super.onCreate(); alarm = new AlarmManagerBroadcastReceiver(); } ...
Программирование Android Боковое меню Всем привет, появилась нужда сделать боковое меню активным при запуске активности, имеющей как раз то самое меню . Есть какой-нибудь метод для этого? Вот для более ясной картины код, вызывающий меню. package com.company.myapplication; import android.content.Intent; import android.os.Bundle; import android.widget.Button; import android.widget.Toast; import...
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
16.02.2016, 16:04 0

Динамическая кнопка с картинкой - Программирование Android - Ответ 8762250

16.02.2016, 16:04. Показов 2222. Ответов 7
Метки (Все метки)

Ответ

я начал делать пример и нашел новый для меня лаяут
вобщем я сделал небольшой примерчик, только просьба - сделать не бездумно, а прочитать внимательно и попытаться понять что там происходит
1. первое что надо сделать это подключить новый лаяут в файле build.gradle
XML
1
compile 'com.android.support:gridlayout-v7:23.1.1'
2. пеперь разметка активити, кажется что текста много, но на самом деле там главное на что надо смотреть - это GridLayout с id="field". Это типа поле для кнопок. Остальной обвес из лаяутов потом можно выкинуть, но в примере они нужны для показа кнопок типа Старт и текстовых полей.
Если надо будет делать свою разметку от можно просто скопировать GridLayout и все.
Кликните здесь для просмотра всего текста
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
 
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Счет:" />
 
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="end"
            android:text="Время 00:00" />
 
    </LinearLayout>
 
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
 
        <android.support.v7.widget.GridLayout
            android:id="@+id/field"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center" />
    </FrameLayout>
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="START" />
 
</LinearLayout>

инфа для low-lvl троллей: да, я знаю что можно было сделать лаяуты по-другому и не обязательно делать все на linear, но вот мне так захотелось

3. активити
добавляем в импорты
Java
1
import android.support.v7.widget.GridLayout;
где-то в onCreate() мы находим наш лаяут с id ="field" и вызываем метод в котором происходит магия
Java
1
2
        GridLayout field = (GridLayout) findViewById(R.id.field);
        createButtons(10, 10, field);
и сам метод + слушатель, просто копируем куда-то в активити, можно почитать комментарии, но в алгоритм можно не вникать на начальном этапе
Кликните здесь для просмотра всего текста
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
    private void createButtons(final int columns, final int rows, final GridLayout field) {
        // post action надо, потому что дальше в коде наше поле делаем квадратным
        field.post(new Runnable() {
            @Override
            public void run() {
                ViewGroup.LayoutParams fieldParams = field.getLayoutParams(); // берем параметры поля (лаяута)
                int size = Math.min(field.getWidth(), field.getHeight()); // определяем меньшую сторону
                fieldParams.width = size; // делаем стороны одинаковыми, квадрат
                fieldParams.height = size;
                field.setLayoutParams(fieldParams); // применяем новые параметры
                field.setColumnCount(columns); // задаем полю количество столбцов
                field.setRowCount(rows); // и строк
                // цикл в котором создаются кнопки
                for (int r = 0; r < rows; r++) {
                    for (int c = 0; c < columns; c++) {
                        Button btn = new Button(field.getContext());
                        btn.setOnClickListener(listener); // вешаем слушателя 
                        btn.setTag(c + " " + r); // назначаем tag на вьюшку, пригодится когда надо будет определить позицию на поле 
                        btn.setTextSize(7); // это можно убрать
                        btn.setText("" + (c + 1) * (r + 1)); // проставляем цифры на кнопках, тоже потом в топку
                        GridLayout.LayoutParams lp = new GridLayout.LayoutParams(); // создаем параметры лаяута для кнопки
                        lp.width = 0; // так надо потому что ниже мы указываем вес кнопок = 1, они будут сами высчитывать размеры
                        lp.height = 0;
                        lp.columnSpec = GridLayout.spec(c, 1f); // вес и позиция кнопки по горизонтали
                        lp.rowSpec = GridLayout.spec(r, 1f); // и по вертикали
                        field.addView(btn, lp); // добавляем кнопку на поле 
                    }
                }
            }
        });
    }
 
    private final View.OnClickListener listener = new View.OnClickListener() { // слушатель для кнопок (с) кэп
        @Override
        public void onClick(View v) {
            String[] arr = v.getTag().toString().split(" ");
            int col = Integer.valueOf(arr[0]);
            int row = Integer.valueOf(arr[1]);
            Toast.makeText(getBaseContext(), "Button Pressed   col: " + col + " row: " + row, Toast.LENGTH_SHORT).show();
        }
    };

4. PTOFIT
и что получилось
Динамическая кнопка с картинкой


И потом, я бы заменил кнопки на ImageView или вообще на свои, кастомные вьюшки чтобы удобно менять картинки на них.

Вернуться к обсуждению:
Динамическая кнопка с картинкой Программирование Android
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2016, 16:04
Готовые ответы и решения:

Кнопка BS_OWNERDRAW или кнопка со своей картинкой
Есть код, с помощью которого можно менять картинку при нажатии, при фокусе { // ownerdraw...

Кнопка с картинкой
&lt;a href='?dir=folder1' class='button'&gt;&lt;img class='bico' src='images/add-folder.png'/&gt;Открыть&lt;/a&gt; ...

Кнопка с картинкой
Этот вопрос не раз подымался, но полазив в разделе так и не разобрался, ибо чайник. Прошу помощи,...

Кнопка с картинкой
Подскажите как сделать шаблон кнопки с картинкой, ничего рабочего не нашел Вот если что мой...

7
16.02.2016, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2016, 16:04
Помогаю со студенческими работами здесь

Кнопка с картинкой на WinApi
Исходник программы, показывающей пример создания стандартной системной кнопки с картинкой....

Кнопка с картинкой png
Всем привет. Подскажите, как в билдере можно прицепить к кнопке .png файл? Поиск не дал...

Кнопка facebook рядом с картинкой
доброго времени суток :) хочу добавить кнопку factbook - вопрос как сделать так чтобы справа от...

Стиль тоггл кнопка с текстом и картинкой
День добрый. Имеется в наличии следующий стиль: &lt;Style x:Key=&quot;Style_MainButtons&quot;...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru