可折叠的textview,支持重新设置text内容之后还能折叠
添加依赖,或者eclipse中依赖此library,或者直接下载CollapsedTextView.java文件放在自己的项目中即可 jcenter地址:
compile 'com.z:CollapsedTextView:1.0.0'
##布局中,其中maxLines就是最大行数,超过这个行数就会折叠起来,
<z.collapsedtextviewlibrary.CollapsedTextView
android:id="@+id/tv"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:maxLines="6"
android:text="!Hello World!Hello World!Herld!" />
##主要方法: ###1.public boolean isNeedCollapse()是否需要折叠,如果文本实际行数小于你设置的要折叠的阈值,那么就返回false,即不需要折叠,否则返回true ###2.public void collapse()折叠方法,textview折叠时,调用此方法展开,展开时调用此方法折叠 ###3.public boolean isCollapsed成员变量,是否已折叠,随时可以调用,获取折叠状态 ##在activity使用示例
public class MainActivity extends AppCompatActivity {
private Button mBtButton;
private CollapsedTextView mTvCollapsedTextView;
private Button mBt1Button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtButton = (Button) findViewById(R.id.bt);
mBt1Button = (Button) findViewById(R.id.bt1);
mTvCollapsedTextView = (CollapsedTextView) findViewById(R.id.tv);
mBt1Button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mTvCollapsedTextView.setText("123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789");
if (!mTvCollapsedTextView.isNeedCollapse()) { //如果不需要折叠,button就隐藏
mBtButton.setVisibility(View.VISIBLE);
mBtButton.setText("展开");
}
}
});
if (!mTvCollapsedTextView.isNeedCollapse()) //如果不需要折叠,button就隐藏
mBtButton.setVisibility(View.GONE);
mBtButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean collapsed = mTvCollapsedTextView.isCollapsed;
if (collapsed) {//如果折叠了,就展开
mTvCollapsedTextView.collapse();
mBtButton.setText("折叠");
} else {//如果没折叠,就折叠
mTvCollapsedTextView.collapse();
mBtButton.setText("展开");
}
}
});
}
}