Подтвердить что ты не робот

Изменить картинку Floating Action Button Android

Я использовал эту библиотеку https://github.com/futuresimple/android-floating-action-button. Как изменить изображение главной кнопки? Я хочу изменить изображение кнопки сразу после выбора одной из меньших кнопок.

4b9b3361

Ответ 2

вы можете использовать это в своем .XML:

android:src="@drawable/icon" // change backgroung icon
app:backgroundTint="@color/icons" // change background color

используйте это в коде:

 mFloatingActionButton.setImageResource(R.drawable/icon2);

Ответ 3

Что я использую следующим образом,

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab_btn);

// State 1 -on

fab.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.fab_on));

// State  2 - off

fab.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.fab_off));

Надеюсь, это поможет вам

Ответ 4

К сожалению, с этой библиотекой вы не можете изменить значок из меню (см. вопросы из этой библиотеки из дополнительной информации)

Вот почему я бросил эту библиотеку, чтобы использовать более гибкий способ! Это изначально вилка, но теперь она более продвинута;)

Вот ссылка

Наслаждайтесь!

Ответ 5

У меня была такая же проблема, и мне удалось создать собственное решение. Возможно, некоторые из них также могут быть полезны. Я поставил полный ответ на другой вопрос (Как установить значок для getbase FloatingActionsMenu), но эта часть, размещенная здесь, имеет отношение к вопросу при динамическом изменении изображения кнопки главного меню /image, когда выбрана одна из дополнительных кнопок. В этом случае вам нужно совместить ответ из "связанного вопроса" и ответа ниже.

Чтобы изменить значок на кнопке меню, когда вы выбираете floatActionButton, он может быть реализован следующим образом:

Создать кнопку меню в xml файле, создать плавающие кнопки на .java файле (программно), установить кнопку меню (цветная кнопка, цветная кнопка и изображение). Затем просто добавьте все кнопки в кнопку меню. Вы также можете отключить анимацию кнопки меню, просто комментируя код в классе FloatingActionsMenu.

Затем каждый раз, когда вы создаете кнопку, образец:

final FloatingActionButton actionA = new FloatingActionButton(getBaseContext());
        actionA.setTitle("Familie");
        actionA.setIcon(R.drawable.world_map);
        actionA.setSize(FloatingActionButton.SIZE_MINI);
        actionA.setColorNormalResId(R.color.red);
        actionA.setColorPressedResId(R.color.black_semi_transparent);
        actionA.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                menuMultipleActions.setMenuButton(R.drawable.icon, R.color.red_transparent, R.color.black_semi_transparent);
                Toast.makeText(MainMapView.this, "Action Description", Toast.LENGTH_SHORT).show();
                ((FloatingActionsMenu) findViewById(R.id.multiple_actions)).collapse();
                return;
            }
        });

См. ответ, опубликованный в ссылке о том, как настроить классы и определить кнопку меню и плавающие кнопки.

Значит, здесь важная часть:

menuMultipleActions.setMenuButton(R.drawable.icon, R.color.red_transparent, R.color.black_semi_transparent);

Этот метод необходимо добавить в класс FloatingActionsMenu. Просто вы вызываете метод после того, как на каждом floatActionButton вы хотите обновить изображение.

Дополнительную информацию вы можете найти по ссылке, которую я опубликовал. Поэтому, когда вы нажимаете один из плавающих элементов (а).

На данный момент цвет кнопки меню не обновляется правильно, но я работаю над этим, если я найду решение, я также обновлю ответ. Надеюсь, это поможет, счастливая кодировка.

Ответ 6

Я столкнулся с такой же проблемой в последнее время, я попробовал следующую опцию

  fab:fab_icon="@drawable/icon"

и

 android:src="@drawable/icon" // change backgroung icon

даже попробовал программно

 fab_menu_btn.setImageResource();

Ничего не получилось.

В файле приложения build.gradle замените

  compile 'com.getbase:floatingactionbutton:1.10.0'

к

compile 'com.github.toanvc:floatingactionmenu:0.8.9'

В .xml файле Использование:

           <toan.android.floatingactionmenu.FloatingActionsMenu
          </toan.android.floatingactionmenu.FloatingActionsMenu>

В действии Файл:

      floatingActionsMenu.setIcon(getResources().getDrawable(R.mipmap.icon));

Спасибо

Ответ 7

Добавьте свойство

fab:fab_icon="@drawable/fab_expand"

в xml, где вы инициализировали меню с плавающим действием.