首先自定义view,直接上代码
public class collapsible extends LinearLayout{
private LinearLayout containner;
private TextView textView1;
private TextView textView2;
public int showType = 0;
public collapsible(Context context, AttributeSet attrs) {
super(context, attrs);
containner = (LinearLayout) inflate(context,R.layout.collapsible_main,this);
textView1 = (TextView) containner.findViewById(R.id.show_view);
textView2 = (TextView) containner.findViewById(R.id.show_button);
textView2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if(showType ==0){
showType = 1;
}else {
showType = 0;
}
requestLayout();
}
});
TypedArray typedArray = context.obtainStyledAttributes(attrs,R.styleable.collapsible);
textView1.setText(typedArray.getString(R.styleable.collapsible_collapsibletext));
typedArray.recycle();
}
public collapsible(Context context){
super(context,null);
}
public void setTextView1(String str){
textView1.setText(str);
requestLayout();
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
switch (showType){
case 0:
textView1.setMaxLines(4);
break;
case 1:
textView1.setMaxLines(Integer.MAX_VALUE);
break;
}
}