关于自定义layout

protected void showPraises(final List<PraiseInfo> praises,
      final RelativeLayout container) {
   container.removeAllViews();
   container.setVisibility(View.VISIBLE);
   int size = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 30, getResources().getDisplayMetrics());
   int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 2, getResources().getDisplayMetrics());
   for(int i = 0 ;i<praises.size();i++){
      final PraiseInfo info = praises.get(i);
      ImageView iv = new ImageView(this);
      iv.setId(i+1);
      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(size, size);
      if(i%6==0){
         params.addRule(RelativeLayout.BELOW, i-5);
      }else{
         params.addRule(RelativeLayout.RIGHT_OF, i);
         params.addRule(RelativeLayout.BELOW, i-5);
      }
      params.setMargins(margin, margin, margin, margin);
      iv.setBackground(getResources().getDrawable(R.drawable.bg_border));
      iv.setLayoutParams(params);
      ImageUtils.setHeadImage(info.getPhoto(), iv);
      iv.setOnClickListener(new OnClickListener() {
         
         @Override
         public void onClick(View v) {
            AppManager.getPersonalDates(DynamicdetailsActivity2.this, info.getUsername());
         }
      });
      if(!isFirstShow||i<3){
         if(!isFirstShow&&showPageNumber>0){
            if(i<showPageNumber*10){
               container.addView(iv);
            }
         }else{
            container.addView(iv);
         }
      }else{
         break;
      }
   }
   TextView tv = new TextView(this);
   ImageView ivback = new ImageView(this);
   if((!isFirstShow&&praises.size()<10*showPageNumber)
         ||praises.size()<3){
      tv.setVisibility(View.GONE);
      Log.i("TAG", "进入了");
      if(!isFirstShow&&praises.size()<10*showPageNumber){
         RelativeLayout.LayoutParams params1 = new RelativeLayout
               .LayoutParams(size, size);
         params1.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
         if(praises.size()%6!=0){
            params1.addRule(RelativeLayout.RIGHT_OF, praises.size());
         }else{
            params1.addRule(RelativeLayout.BELOW, praises.size()-5);
         }

         params1.setMargins(margin, margin, margin, margin);
         ivback.setLayoutParams(params1);
         ImageUtils.setImgFromDrawable(R.drawable.close_avtar, ivback, true);
         ivback.setScaleType(ScaleType.MATRIX);
         ivback.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
               isFirstShow=true;
               isCache = true;
               showPageNumber=0;
               showPraises(praises, container);
            }
         });
         container.addView(ivback);
      }
   }else{
      ivback.setVisibility(View.GONE);
      Log.i("TAG", "显示了");
      RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(size, size);
      tv.setText("......");
      tv.setGravity(Gravity.BOTTOM);
      tv.setTextColor(Color.parseColor("#ff6600"));
      params.addRule(RelativeLayout.CENTER_VERTICAL);
      if(isFirstShow){
         params.addRule(RelativeLayout.RIGHT_OF, 3);
      }else{
         params.addRule(RelativeLayout.RIGHT_OF,10*showPageNumber);
         params.addRule(RelativeLayout.BELOW,10*showPageNumber-5);
      }
      params.setMargins(margin,margin,margin,margin);
      tv.setLayoutParams(params);
      tv.setOnClickListener(new OnClickListener() {
         
         @Override
         public void onClick(View v) {
            if(isFirstShow){
               isFirstShow=false;
               showPageNumber +=1 ;
               showPraises(praises, container);
            }else{
               showPageNumber +=1 ;
               if(isCache){
                  showPraises(praises, container);
               }else{
                  initPraiseList();
               }
            }
         }
      });
      container.addView(tv);
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值