在像ListView和Gallery这样的控件中,您可以沿一个方向(垂直或水平)拖动项目。
我有一个TextView,我已经成功地将它拖动了。但是我想在水平方向上移动它。我该如何实现?
谢谢,
我的代码:
我想模拟一个相册。我有一万张照片要展示。我的相册每次只能显示10张照片。我想拖动包含相册内容的LinearLayout,使其在水平方向上移动。当LinearLayout到达窗口的末尾时,像SlidingDrawer一样更改其内容并显示下10张照片。SlidingDrawer是一个不错的解决方案,但它有一些限制。当您将整个LinearLayout设置为其handle时,它不能被点击。当您为其设置单独的handle时,您无法确定handle相对于content的位置。
我有一个TextView,我已经成功地将它拖动了。但是我想在水平方向上移动它。我该如何实现?
谢谢,
我的代码:
public class MyDragShadowBuilder extends View.DragShadowBuilder {
private static View view;
public MyDragShadowBuilder(View v) {
super(v);
view = v;
}
@Override
public void onProvideShadowMetrics(Point size, Point touch) {
width = getView().getWidth();
height = getView().getHeight();
size.set(width, height);
touch.set(width / 2, height / 2);
}
private int width, height;
@Override
public void onDrawShadow(Canvas canvas) {
view.draw(canvas);
}
}
在我的活动中:
tv.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipData data = ClipData.newPlainText("dot",
"Dot : " + v.toString());
View.DragShadowBuilder myShadow = new MyDragShadowBuilder(v);
v.startDrag(data, myShadow,(Object) v, 0);
return false;
}
});
我想模拟一个相册。我有一万张照片要展示。我的相册每次只能显示10张照片。我想拖动包含相册内容的LinearLayout,使其在水平方向上移动。当LinearLayout到达窗口的末尾时,像SlidingDrawer一样更改其内容并显示下10张照片。SlidingDrawer是一个不错的解决方案,但它有一些限制。当您将整个LinearLayout设置为其handle时,它不能被点击。当您为其设置单独的handle时,您无法确定handle相对于content的位置。