【发布时间】:2015-02-23 17:53:56
【问题描述】:
我在 Android Lollipop (minSdk=21) 上,并希望通过拖动手势来实现移动浮动操作按钮。按钮是ImageButton的自定义子类,代码在此不再赘述:Define default values for layout_width and layout_height properties for a subclass in a style
对于拖动,我使用这里描述的方式:http://developer.android.com/guide/topics/ui/drag-drop.html。这是我的代码的样子:
favoriteButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
v.startDrag(null, new View.DragShadowBuilder(v), null, 0);
return true;
}
});
findViewById(R.id.test_main_layout).setOnDragListener(new View.OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_ENTERED:
favoriteButton.setVisibility(View.INVISIBLE);
break;
case DragEvent.ACTION_DROP:
favoriteButton.setX(event.getX() - favoriteButton.getWidth() / 2);
favoriteButton.setY(event.getY() - favoriteButton.getHeight() / 2);
favoriteButton.setVisibility(View.VISIBLE);
break;
}
return true;
}
});
通常,它可以工作,但问题是“拖影”:它是方形的。由于这个或其他原因,它不尊重 FAB 的椭圆形轮廓。
我怎样才能让它正常运行?
【问题讨论】:
标签: android floating-action-button