美文网首页
listview和gridView设置条目的高度

listview和gridView设置条目的高度

作者: 念念不忘_2016 | 来源:发表于2018-08-14 09:10 被阅读0次

    在开发过程中,很多地方需要固定item的高度,这样才能更好些的显示。但是发现在xml文件中设置不管用,无法直接在adapter的getView里通过convertView的 getLayoutParams()获得LayoutParams,因为这个时候convertView还没有加到任何viewgroup里,所以需要手动new一个新的LayoutParams,一下亲测可用

    public View getView(int position, View convertView, ViewGroup parent) {
         convertView = LayoutInflater.from(context).inflate(R.layout.item, null);
         AbsListView.LayoutParams param = new AbsListView.LayoutParams( android.view.ViewGroup.LayoutParams.FILL_PARENT,  UIUtils.dp2px(90));//传入自己需要的宽高       
         convertView.setLayoutParams(param);
         return convertView;
    }
    

    项目中的像素转换工具类(UIUtils)

    /**
     * 将dp值转换为px值
     * @param dp 需要转换的dp值
     * @return px值
     */
    public static int dp2px(float dp) {
        return (int) (getResources().getDisplayMetrics().density * dp + 0.5f);
    }
    
    /**
     * 将px值转换为dp值
     * @param px 需要转换的px值
     * @return dp值
     */
    public static int px2dp(float px) {
        return (int) (px / getResources().getDisplayMetrics().density + 0.5f);
    }
    

    相关文章

      网友评论

          本文标题:listview和gridView设置条目的高度

          本文链接:https://www.haomeiwen.com/subject/nnkmbftx.html