想做一个类似qq手机桌面的程序,通过gridview显示程序图标,点击跳转,但是
做出来的效果是图标不清晰,不像桌面那样,想知道qq是怎么做的。
有知道的牛人么,麻烦解答下,谢谢!
附上getView的函数 @Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i;
ResolveInfo info = appList.get(position);
if (convertView == null) {
i = new ImageView(desktop.this);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.icon);
i.setLayoutParams(new GridView.LayoutParams(bmp.getWidth()+5, bmp.getHeight()+5));
Log.d("width.............", String.valueOf(bmp.getWidth()));
Log.d("getHeight.............", String.valueOf(bmp.getHeight()));
}else{
i = (ImageView) convertView;
} i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
return i;
}
做出来的效果是图标不清晰,不像桌面那样,想知道qq是怎么做的。
有知道的牛人么,麻烦解答下,谢谢!
附上getView的函数 @Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i;
ResolveInfo info = appList.get(position);
if (convertView == null) {
i = new ImageView(desktop.this);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.icon);
i.setLayoutParams(new GridView.LayoutParams(bmp.getWidth()+5, bmp.getHeight()+5));
Log.d("width.............", String.valueOf(bmp.getWidth()));
Log.d("getHeight.............", String.valueOf(bmp.getHeight()));
}else{
i = (ImageView) convertView;
} i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
return i;
}
我感觉不是分辨率的问题,应该是GridView中的大小问题,我现在是用的系统
自带的icon.png的大小,跟踪是48*48,但我怀疑有的图标可能不是这么大,
或者是匹配出了问题