Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中显示阴影框中的文本项?_Android - Fatal编程技术网

如何在Android中显示阴影框中的文本项?

如何在Android中显示阴影框中的文本项?,android,Android,当我拖动项目时,我想在阴影部分显示文本,换句话说,我想在阴影部分显示项目文本(当用户长时间单击并想放到另一个位置时)! 在startdrag中,当我调用myshadow时,我有数据和项目文本,我无法在阴影框中设置文本(clor为黄色) OnItemLongClickListener列表SourceItemLongClickListener=新建OnItemLongClickListener(){ @凌驾 长点击(自适应视图l、视图v、内部位置、, 长id){ //所选项目在dragData中作为

当我拖动项目时,我想在阴影部分显示文本,换句话说,我想在阴影部分显示项目文本(当用户长时间单击并想放到另一个位置时)! 在startdrag中,当我调用myshadow时,我有数据和项目文本,我无法在阴影框中设置文本(clor为黄色)

OnItemLongClickListener列表SourceItemLongClickListener=新建OnItemLongClickListener(){
@凌驾
长点击(自适应视图l、视图v、内部位置、,
长id){
//所选项目在dragData中作为项目传递
ClipData.Item项目=新的ClipData.Item(lv_arr[位置]);
字符串[]clipDescription={clipDescription.MIMETYPE_TEXT_PLAIN};
ClipData dragData=new ClipData((CharSequence)v.getTag(),
clipDescription,项目);
DragShadowBuilder myShadow=新的MyDragShadowBuilder(v);
v、 startDrag(dragData,//ClipData
myShadow,//View.DragShadowBuilder
lv_arr[position],//对象myLocalState
0);//标志
//commentMsg=v.getTag()+“:仅长按。\n”;
//comments.setText(commentMsg);
返回true;
}
}
私有静态类MyDragShadowBuilder扩展了View.DragShadowBuilder{
私有静态可绘制阴影;
公共MyDragShadowBuilder(视图五){
超级(五);
阴影=新的可绘制颜色(Color.LTGRAY);
}
@凌驾
公共void onProvideShadowMetrics(点大小、点接触){
int width=getView().getWidth();
int height=getView().getHeight();
阴影.立根(0,0,宽度,高度);
尺寸。设置(宽度、高度);
触摸设置(宽度/2,高度/2);
}
@凌驾
公共空白onDrawShadow(画布){
阴影绘制(画布);
}
}

我相信您可以覆盖
onDrawShadow(Canvas Canvas)
(您实际上已经覆盖了该对象),并使用Canvas对象引用调用方法
drawText
,传递您想要的文本

试试看。

是的,谢谢你,是的; 我刚刚补充说,这是我的工作

    @Override
    public void onDrawShadow(Canvas canvas) {

        shadow.draw(canvas);
        super.onDrawShadow(canvas);

    }
    @Override
    public void onDrawShadow(Canvas canvas) {

        shadow.draw(canvas);
        super.onDrawShadow(canvas);

    }