源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android多行标签热点示例

  • 时间:2020-05-21 06:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android多行标签热点示例
[u]复制代码[/u] 代码如下:
package com.test.mytest.widget; import java.util.List; import android.content.Context; import android.os.Handler; import android.util.AttributeSet; import android.widget.LinearLayout; import android.widget.TextView; public class MutipleLabelLayout extends LinearLayout {  public MutipleLabelLayout(Context context, AttributeSet attrs) {   super(context, attrs);  }  public MutipleLabelLayout(Context context) {   super(context);  }  public MutipleLabelLayout(Context context, List<String> list) {   super(context);   mList = list;   mContext = context;  }  @Override  protected void onAttachedToWindow() {   super.onAttachedToWindow();   new Handler().postDelayed(new Runnable() {    @Override    public void run() {     init();    }   }, 500);  }  private void init() {   this.setOrientation(LinearLayout.VERTICAL);   LinearLayout row = new LinearLayout(mContext);   row.setOrientation(LinearLayout.HORIZONTAL);   this.addView(row);   int rowWidth = this.getMeasuredWidth();   int viewSumWidth = 0;   for (String label : mList) {    TextView labelView = new TextView(mContext);    labelView.setText(label);    labelView.setPadding(10, 0, 10, 0);    labelView.setLayoutParams(new LayoutParams(      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));    row.addView(labelView);    labelView.measure(0, 0);    viewSumWidth += labelView.getMeasuredWidth();    if (viewSumWidth > rowWidth) {     row.removeView(labelView);     row = new LinearLayout(mContext);     row.setOrientation(LinearLayout.HORIZONTAL);     this.addView(row);     row.addView(labelView);     labelView.measure(0, 0);     viewSumWidth = labelView.getMeasuredWidth();    }    // System.out.println("viewSumWidth: " + viewSumWidth);    // System.out.println("rowWidth: " + rowWidth);   }  }  private List<String> mList;  private Context mContext; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部