想做一个类似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;

}

解决方案 »

  1.   

    如果只是图片效果不清晰的话,估计是你的图片分辨率不好。你可以通过改变图片大小,来新建一个新图片,这样你就可以设置GridView的大小,来与你新建图片大小想适应了。简单点,就是你新创建的图片与你的GridView框格的大小一致。
      

  2.   

    BitMap处理下图片和控件大小吧
      

  3.   

    我是直接读取的系统中安装的程序图标,分辨率难道不是根据手机自动适配的么
    我感觉不是分辨率的问题,应该是GridView中的大小问题,我现在是用的系统
    自带的icon.png的大小,跟踪是48*48,但我怀疑有的图标可能不是这么大,
    或者是匹配出了问题
      

  4.   

    if (convertView == null)这个判断我只要加上滑动必乱,求教如何避免阿