繁体   English   中英

android:从代码中动态更改FAB(浮动操作按钮)图标

[英]android: dynamically change FAB(Floating Action Button) icon from code

如何在运行时更改活动中的FAB图标。 我有这个代码 - >

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

我知道这可以使用fab.setBackgroundDrawable(); 但我是android的新手,不明白该怎么做。

任何帮助将受到高度赞赏。

谢谢

更改FloatingActionButton源:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            floatingActionButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_full_sad, context.getTheme()));
        } else {
            floatingActionButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_full_sad));
    }

这可以替换为支持库中的以下代码:

floatingActionButton.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_full_sad));

或者您使用支持库:

floatingActionButton.setImageDrawable(ContextCompat.getDrawable(getContext(), R.drawable.ic_full_sad));

如果您使用的是支持库:

floatingActionButton.setImageResource(R.drawable.icon_name)

假设您将使用图像ic_arrow_forward.png作为工厂的背景:

fab.setImageResource(R.mipmap.ic_arrow_forward);

我使用的如下,

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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM