在android中更改dragshadow,同时进行拖动
面临的问题是,当拖动发生时,让dragshaddow(由a创建)对某个对象做出反应在android中更改dragshadow,同时进行拖动,android,drag,shadow,Android,Drag,Shadow,面临的问题是,当拖动发生时,让dragshaddow(由a创建)对某个对象做出反应 有人知道该怎么做吗?这是我为自定义拖放阴影生成器( 然而,正如其他人所说的,不可能使用API-11中引入的本机功能修改拖放阴影 package com.marcingil.dragshadow; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import androi
有人知道该怎么做吗?这是我为自定义拖放阴影生成器( 然而,正如其他人所说的,不可能使用API-11中引入的本机功能修改拖放阴影
package com.marcingil.dragshadow;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Point;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.view.View;
public class ImageDragShadowBuilder extends View.DragShadowBuilder {
private Drawable shadow;
private ImageDragShadowBuilder() {
super();
}
public static View.DragShadowBuilder fromResource(Context context, int drawableId) {
ImageDragShadowBuilder builder = new ImageDragShadowBuilder();
builder.shadow = context.getResources().getDrawable(drawableId);
if (builder.shadow == null) {
throw new NullPointerException("Drawable from id is null");
}
builder.shadow.setBounds(0, 0, builder.shadow.getMinimumWidth(), builder.shadow.getMinimumHeight());
return builder;
}
public static View.DragShadowBuilder fromBitmap(Context context, Bitmap bmp) {
if (bmp == null) {
throw new IllegalArgumentException("Bitmap cannot be null");
}
ImageDragShadowBuilder builder = new ImageDragShadowBuilder();
builder.shadow = new BitmapDrawable(context.getResources(), bmp);
builder.shadow.setBounds(0, 0, builder.shadow.getMinimumWidth(), builder.shadow.getMinimumHeight());
return builder;
}
@Override
public void onDrawShadow(Canvas canvas) {
shadow.draw(canvas);
}
@Override
public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) {
shadowSize.x = shadow.getMinimumWidth();
shadowSize.y = shadow.getMinimumHeight();
shadowTouchPoint.x = (int)(shadowSize.x / 2);
shadowTouchPoint.y = (int)(shadowSize.y / 2);
}
}
Marcin,如果我的自定义阴影不是位图,而是布局,该怎么办?关于这种情况,我有一个未回答的问题(提供小赏金):