• GridView 子项长度和宽度一样



    下面是gridview 控件,每行放置四个,因此用宽度除4. 下面展现出来的的界面就显的比较美观。

    public class HotSearchAdapter extends BaseAdapter {
    	private LayoutInflater inflater;
    	private List<App> infos;
    	private Context context;
    
    	public HotSearchAdapter(Context context, List<App> infos) {
    		super();
    		this.infos = infos;
    		this.context = context;
    		this.inflater = LayoutInflater.from(context);
    		initWin();
    	}
    
    	@Override
    	public int getCount() {
    		if (infos != null && infos.size() > 0) {
    			return infos.size();
    		}
    		return 0;
    	}
    
    	@Override
    	public Object getItem(int position) {
    		if (infos != null && infos.size() > 0) {
    			return infos.get(position);
    		}
    		return null;
    	}
    
    	@Override
    	public long getItemId(int position) {
    		return position;
    	}
    
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent) {
    		DataHolder holder;
    		if (convertView == null) {
    			convertView = inflater.inflate(R.layout.hot_search_gv_item, null);
    			holder = new DataHolder();
    			holder.iv_image = (ImageView) convertView.findViewById(R.id.iv_image);
     
    			convertView.setTag(holder);
    		} else {
    			holder = (DataHolder) convertView.getTag();
    		}
    
    		App mApp = infos.get(position);
    
    		int pad = (int) (2*density);
    		convertView.setPadding(pad, pad, pad, pad);
    		convertView.setLayoutParams(new AbsListView.LayoutParams(widthPixels/4,widthPixels/4));
    		return convertView;
    	}
    
    	public final class DataHolder {
    		public ImageView iv_image;
    	}
    	
    	private void initWin(){
    		WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    		DisplayMetrics metrics = new DisplayMetrics();
    		manager.getDefaultDisplay().getMetrics(metrics);
    		density = metrics.density;
    		widthPixels = metrics.widthPixels;
    	}
    	
    	private float density;
    	private int widthPixels;
    }
    

    
    
  • 相关阅读:
    《AI for Game Developers》第七章 A*路径寻找算法 (二)(skiplow翻译)
    芯片科普学习笔记
    sprboot 配置logback 日志输出
    springboot+mybatis 配置双数据源(mysql,oracle,sqlserver,db2)
    vue 封装axios请求
    *arg参数
    pytest mac安装了pytest,但是输入pytest却提示命令不存在
    构建Java Web开发环境
    在CentOS上编译安装PostgreSQL
    在Ubuntu 14.04上使用Eclipse开发和调试PosgreSQL9.3.4
  • 原文地址:https://www.cnblogs.com/lbangel/p/4335883.html
Copyright © 2020-2023  润新知