一些带搜索功能的app,在搜索栏下面一般会提供一些关键字供用户选择。
也可以根据用户输入的文字,在下一次使用的时候该文字出现在常用关键字里面,只要轻轻一点就可以搜索了,无需再次输入。
关键字可以动态添加,这就要考虑换行的问题了
废话不多说,先上效果图:
先定义2个自定义属性
<declare-styleable name="linewarplayout">
<attr name="magin" format="integer" />
<attr name="itemBg" format="reference"></attr>
</declare-styleable>
magin:关键字之间间隔
itemBg:关键字的背景
.......
算了不写了
上代码
package com.tang.linewraplayout;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class LineWrapLayout extends ViewGroup
{
private int magin = 20;//每个VIEW之间的间距
private List<List<View>> mAllChildViews = new ArrayList<List<View>>();//所有子控件
private List<Integer> mLineHeight =new ArrayList<Integer>();//每一行的高度
public interface OnItemClickListener//点击事件接口
{
public void onClick(View view);
}
private OnItemClickListener clickListener;
public void setOnItemClickListener(OnItemClickListener clickListener)
{
this.clickListener=clickListener;
}
p