android多行标签热点示例
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;
}
相关文章
Android编程实现捕获程序异常退出时的错误log信息功能详解
这篇文章主要介绍了Android编程实现捕获程序异常退出时的错误log信息功能,结合实例形式分析了Android异常信息捕获与日志操作相关实现技巧,需要的朋友可以参考下2017-08-08
ListView上滑和下滑,显示和隐藏Toolbar的实现方法
下面小编就为大家分享一篇ListView上滑和下滑,显示和隐藏Toolbar的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01
Android使用phonegap从相册里面获取照片(代码分享)
本文主要介绍了使用phonegap从相册里面获取照片的实现方法代码。具有很好的参考价值,下面跟着小编一起来看下吧2017-03-03
Android 2.3.7.r1 camera录像过程中按menu菜单键时会停止录像
android GB版本的camera录像过程中按“菜单”键会停止录像,改成录像时按menu键不做处理,具体修改方法如下,感兴趣的朋友可以参考下哈2013-06-06


最新评论