自定义View
1.横向布局
2.竖向布局
3.文字布局
4.创建类继承RelativeLayout,继承构造方法,实现view生命周期方法
5.添加布局
6.``public void setlist(final List list) {
layout.removeAllViews();
length=0;
//创建水平的
Hlayout=(LinearLayout)View.inflate(context,R.layout.h,null);
layout.addView(Hlayout);
for (int i = 0; i< list.size(); i++){
String s = list.get(i);
length +=s.length();
if (length >30){
Hlayout = (LinearLayout)View.inflate(context,R.layout.h,null);
layout.addView(Hlayout);
length =0;
}
final View Tview=View.inflate(context,R.layout.text,null);
final TextView text = Tview.findViewById(R.id.tv_txt);
text.setText(list.get(i));
Hlayout.addView(Tview);
LinearLayout.LayoutParams layoutParams = ( LinearLayout.LayoutParams)Tview.getLayoutParams();
layoutParams.leftMargin=5;
layoutParams.topMargin=5;
layoutParams.rightMargin=5;
layoutParams.weight=1;
Tview.setLayoutParams(layoutParams);
Tview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context,text.getText(),Toast.LENGTH_LONG).show();
}
});
Tview.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
String s1 = text.getText().toString();
list.remove(s1);
setlist(list);
return true;
}
});
}
}
7.实现布局