在使用android开发人员提供的浮动操作按钮时,我无法帮助,但想知道他们究竟是如何从头开始实现浮动操作按钮的。
1)我想知道浮动动作按钮是如何构建的
2)android如何才能使加号成为其他东西?
这可能是其他帖子的重复,但我已经检查过,似乎找不到任何帖子提出同样的问题。如果您找到一个提出类似问题的人,请告诉我。
我的帖子与帖子不同:How can I add the new "Floating Action Button" between two widgets/layouts因为上面的帖子只解释了如何使用android FAB库,并没有解释如何从头开始创建FAB。
答案 0 :(得分:0)
FloatingActionButton类主要扩展VisibilityAwareImageButton
,扩展imagebutton
。所以,从头开始,你应该从扩展图像按钮开始。然后,当您获得VisibilityAwareImageButton
时,您可以创建FloatingButton
课程。 VisibilityAwareImageButton
的代码如下所示
package android.support.design.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageButton;
class VisibilityAwareImageButton extends ImageButton {
private int mUserSetVisibility;
public VisibilityAwareImageButton(Context context) {
this(context, null);
}
public VisibilityAwareImageButton(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public VisibilityAwareImageButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mUserSetVisibility = getVisibility();
}
@Override
public void setVisibility(int visibility) {
internalSetVisibility(visibility, true);
}
final void internalSetVisibility(int visibility, boolean fromUser) {
super.setVisibility(visibility);
if (fromUser) {
mUserSetVisibility = visibility;
}
}
final int getUserSetVisibility() {
return mUserSetVisibility;
}
}
他们如何创建浮动按钮:
源代码可以在谷歌的以下链接中找到
VisibilityAwareImageButton
代码来自以下链接
https://github.com/android/platform_frameworks_support/blob/master/design/base/android/support/design/widget/VisibilityAwareImageButton.java