Android SDK Api Demo中有一段代码
i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
final int w = (int) (64 * getResources().getDisplayMetrics().density + 2f);
i.setLayoutParams(new GridView.LayoutParams(w, w));
有人可以解释这段代码吗? havnt在网上发现了什么。
google doc提到“setImageDrawable”用于在屏幕上绘制内容 还有“GetPackageManager”用于返回PackageManager实例以查找全局包信息。 现在的问题是我无法找到项目文件夹中的图标列表,再加上它,如何更改它显示我的图标而添加事件以便点击它们。
答案 0 :(得分:2)
代码你有postet,第一行,你加载图标并设置它。
第二个用于将图像的边界缩放到此视图的边界,FIT_CENTER将其缩放到屏幕的中心。
第三个,你计算宽度,在第四个你设置它到imageview(设置大小)。
你可以在sdk文件夹中找到的图标。 (\路径到您的-Android的SDK夹\平台\机器人-XX \数据\ RES)
加载你自己的图标使用:
setImageDrawable(getResources().getDrawable(R.drawable.icon));
和听众:
imageView.setOnClickListener(clickListener);
OnClickListener clickListener = new OnClickListener() {
public void onClick(View v) {
if (v.equals(imageView)) {
// you'r code here
}
}
};
答案 1 :(得分:0)
截至 2021 年 6 月,Manu Zi 的答案现已弃用。为了实现相同的目标,您必须使用 ContextCompat
,如下所示。
在片段中,使用以下内容:
setImageDrawable(ContextCompat.getDrawable(requireContext(), R.drawable.icon))
如果您的代码在活动中,请使用以下代码:
setImageDrawable(ContextCompat.getDrawable(this, R.drawable.icon))
快乐编码!!!