android imageview id,在ImageView中获取可绘制的ID

Posted weixin_39715187

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android imageview id,在ImageView中获取可绘制的ID相关的知识,希望对你有一定的参考价值。

我想如果我理解正确,那就是你在做什么。

ImageView view = (ImageView) findViewById(R.id.someImage);

view.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

ImageView imageView = (ImageView) view;

assert(R.id.someImage == imageView.getId());

switch(getDrawableId(imageView)) {

case R.drawable.foo:

imageView.setDrawableResource(R.drawable.bar);

break;

case R.drawable.bar:

default:

imageView.setDrawableResource(R.drawable.foo);

break;

}

});

对?所以这个功能getDrawableId()不存在。您无法获得drawable实例化的id,因为id只是对设备上数据位置的引用,如何构造drawable。一旦构造了drawable,它就无法获得用于创建它的resourceId。但你可以使用标签让它像这样工作

ImageView view = (ImageView) findViewById(R.id.someImage);

view.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

ImageView imageView = (ImageView) view;

assert(R.id.someImage == imageView.getId());

// See here

Integer integer = (Integer) imageView.getTag();

integer = integer == null ? 0 : integer;

switch(integer) {

case R.drawable.foo:

imageView.setDrawableResource(R.drawable.bar);

imageView.setTag(R.drawable.bar);

break;

case R.drawable.bar:

default:

imageView.setDrawableResource(R.drawable.foo);

imageView.setTag(R.drawable.foo);

break;

}

});

相关资源:android实现自定义ImageView的圆角矩形图片效果

以上是关于android imageview id,在ImageView中获取可绘制的ID的主要内容,如果未能解决你的问题,请参考以下文章

如何自动中心裁剪ImageView Android?

Android:使用 parsequery 适配器在 listview 中更改 imageview 的图像

android. imageview是如何控制它的宽高比例,不让各种规则图片影响它大小。如图。图片

关于android TranslateAnimation的问题

我可以在 DAI IMA SDK 中使用 Id 而不是在 android 中使用 video Url 和 adTag Url

ImageView 中的图像显示非常模糊