android多行标签热点示例

 更新时间:2014年04月23日 09:00:57   作者:  
这篇文章主要介绍了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实现静默拍照功能

    Android实现静默拍照功能

    这篇文章主要为大家详细介绍了Android实现静默拍照,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Android抢红包助手开发全攻略

    Android抢红包助手开发全攻略

    这篇文章主要为大家详细介绍了Android抢红包助手开发全攻略,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Android编程获取网络时间实例分析

    Android编程获取网络时间实例分析

    这篇文章主要介绍了Android编程获取网络时间,结合实例形式对比分析了Android通过访问网络及通过GPS获取网络时间的具体步骤与实现技巧,需要的朋友可以参考下
    2016-01-01
  • Android串口开发之使用JNI实现ANDROID和串口通信详解

    Android串口开发之使用JNI实现ANDROID和串口通信详解

    这篇文章主要给大家介绍了关于Android串口开发之使用JNI实现ANDROID和串口通信的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Android显式Intent与隐式Intent的使用详解

    Android显式Intent与隐式Intent的使用详解

    Intent的中文意思是“意图,意向”, Intent对Android的核心和灵魂,是各组件之间的桥梁。四大组件分别为Activity 、Service、BroadcastReceiver、ContentProvider。而这四种组件是独立的,它们之间可以互相调用,协调工作,最终组成一个真正的Android应用
    2022-09-09
  • Android 7.0系统webview 显示https页面空白处理方法

    Android 7.0系统webview 显示https页面空白处理方法

    今天小编就为大家分享一篇Android 7.0系统webview 显示https页面空白处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Android 实现切圆图作为头像使用实例

    Android 实现切圆图作为头像使用实例

    这篇文章主要介绍了Android 实现切圆图作为头像使用实例的相关资料,需要的朋友可以参考下
    2016-12-12
  • Android使用Canvas绘制圆形进度条效果

    Android使用Canvas绘制圆形进度条效果

    这篇文章主要为大家详细介绍了Android使用Canvas绘制圆形进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android getevent用法实例详解

    Android getevent用法实例详解

    这篇文章主要介绍了Android getevent用法实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • Android获取当前应用分配的最大内存和目前使用内存的方法

    Android获取当前应用分配的最大内存和目前使用内存的方法

    今天小编就为大家分享一篇关于Android获取当前应用分配的最大内存和目前使用内存的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论