gpt4 book ai didi

java - 如何在drawable中获取图像的ID

转载 作者:行者123 更新时间:2023-11-29 00:03:51 26 4
gpt4 key购买 nike

我是 android 的新手,我正在研究具有拖放功能的水平 ScrollView 。现在一切都运行良好,我可以拖动图像并将其放入拖放区,并记录失败和成功的拖放次数。现在被拖动的图像和它的阴影看起来是一样的。我想要的是,当我拖动图像时,该图像出现的阴影是我选择的可绘制对象中的图像。

下面是影子生成器的代码:

 void dragAndDropImage(int imageId)
{
// int drawableid = getResources().getIdentifier("drawable/a1", "id", getPackageName());
final ImageView drag = (ImageView)findViewById(imageId);

drag.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent arg1) {
// TODO Auto-generated method stub
ClipData data = ClipData.newPlainText("", "");
View.DragShadowBuilder shadow = new View.DragShadowBuilder(drag);//I want the drawable id here View.DragShadowBuilder(drawableid)
v.startDrag(data, shadow, null, 0);
return false;
}
});

我想从可绘制对象中获取一张特定图像的 ID,然后我可以在 View.DragShadowBuilder(可绘制对象中的图像的 ID)中使用它来更改阴影图像。感谢您在这方面提供的任何帮助。

最佳答案

它会是这样的:

R.drawable.resourcename

确保您没有导入 Android.R 命名空间,因为它会混淆 Eclipse(如果您正在使用它)。

如果这不起作用,您始终可以使用上下文的 getResources 方法...

Drawable resImg = this.context.getResources().getDrawable(R.drawable.resource);

this.context 被初始化为 Activity、Service 或任何其他 Context 子类。

更新:

如果是你想要的名称,Resources 类(由 getResources() 返回)有一个 getResourceName(int) 方法,和一个 getResourceTypeName(int)?

更新 2:

资源类有这个方法:

public int getIdentifier(字符串名称,字符串 defType,字符串 defPackage)返回指定资源名称、类型和包的整数。

关于java - 如何在drawable中获取图像的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41479017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com