目的:
自定义一个ViewGroup,里面的子view都是TextView,每个子view TextView的宽度随内容自适应且每行的子View的个数自适应,并可以自动换行
一:效果图
二:代码
整个代码不是很多,注释都在代码中,比较简单,一般都可以看懂。
2.1:自定义属性
目录:res/values/styles.xml
2.1:WordWrapView代码
public class WordWrapView extends ViewGroup {
private int padding_hor =10;//子view水平方向padding
private int padding_vertical=10;//子view垂直方向padding
private int margin_hor=20;//子view之间的水平间距
private int margin_vertical=20;//行间距
private int num = 0;//最多字个数
/**
* @param context
*/
public WordWrapView(Context context) {
super(context);
}
/**
* @param context
* @param attrs
*/
public WordWrapView(Context context, AttributeSet attrs) {
super(context, attrs);
initAttrs(context,attrs);
}
/**
* @param context
* @param attrs
* @param defStyle
*/
public WordWrapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initAttrs(context,attrs);
}
//获取属性值
private void initAttrs(Context context, AttributeSet attrs