布局上错误的 FAB 位置

Wrong FAB position on layout

我正在使用以编程方式定义的 RelativeLayout 并且我在 RelativeLayout 中添加了一个 FAB,但是 FAB 的位置是错误的并且图标也没有显示...

这是我正在使用的代码 -

final RelativeLayout frameLayout = new RelativeLayout(this);
    fab = new FloatingActionButton(this);
            fab.setBackground(getDrawable(R.drawable.more));

            fablp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
            fablp.addRule(RelativeLayout.ALIGN_BOTTOM);
            fablp.addRule(RelativeLayout.ALIGN_RIGHT);
            int mrgn = 16;
            int xp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, mrgn, getResources().getDisplayMetrics());
            fablp.setMargins(0,0,xp,xp);
            frameLayout.addView(fab);

如评论中所述尝试:

fablp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
fablp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

关于 FAB 的图标,您可能需要前景图像,而不是背景,试试这个:

fab.setImageDrawable(myDrawable);