您的位置:首页 > 其它

ExpandableTextView—可以伸缩的文本

2017-01-15 17:07 302 查看

介绍

ExpandableTextView 是一个Android库,使开发人员能够轻松地创建一个TextView可以展开/折叠就像谷歌Play的应用说明。随意使用它所有你想在你的Android应用程序,只要你引用这个项目。控件一般用在应用详情页面的简介中,可伸缩扩展的。

展示图



依赖

GitHub源码 点击查看

dependencies {
compile 'com.ms-square:expandableTextView:0.1.4'
}


)

使用这种库其实是很简单的,只要看看提供的源代码示例。(看在一个ListView的使用sampletextlistadapter.java)

注意:查看id TextView和ImageButton必须设置为“@ id / expandable_text”和“@ id / expand_collapse”提供给这个库使用,固定的。

另外,你可以设置你的XML布局文件中的下列属性来定制的expandabletextview行为。

1、maxcollapsedlines(默认为8)文本行可以显示当TextView行数最大数量

2、animduration(默认为300ms)为展开/折叠的动画时间

3、animalphastart(默认为0.7f)透明度值的TextView当动画开始(注)如果您想禁用α动画设置这个值为1

4、expanddrawable自定义图像设置为ImageButton展开方法

5、collapsedrawable自定义图像设置为ImageButton关闭的方法

栗子1:

<com.ms.square.android.expandabletextview.ExpandableTextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:expandableTextView="http://schemas.android.com/apk/res-auto"
android:id="@+id/expand_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
expandableTextView:maxCollapsedLines="4"
expandableTextView:animDuration="200">
<TextView
android:id="@id/expandable_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:textSize="16sp"
android:textColor="#666666" />
<ImageButton
android:id="@id/expand_collapse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
android:layout_gravity="right|bottom"
android:background="@android:color/transparent"/>
</com.ms.square.android.expandabletextview.ExpandableTextView>


栗子二:

// 示例代码来设置文本内容的expandabletextview
ExpandableTextView expTv1 = (ExpandableTextView) rootView.findViewById(R.id.sample1)
.findViewById(R.id.expand_text_view);

// 重要的调用setText的expandabletextview设置文字显示的内容
expTv1.setText(getString(R.string.dummy_text1));


案例代码:



<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:background="#FFFFFF"
android:orientation="vertical"
android:padding="6dp" >

<com.ms.square.android.expandabletextview.ExpandableTextView
xmlns:expandableTextView="http://schemas.android.com/apk/res-auto"
android:id="@+id/part4_expand_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">

expandableTextView:maxCollapsedLines="3"//折叠状态下显示最大行数
expandableTextView:animDuration="500"//开启关闭动画执行时间

expandableTextView:expandDrawable="@drawable/arrow_down"//图标箭头
expandableTextView:collapseDrawable="@drawable/arrow_up"

<LinearLayout
android:id="@+id/part4_ll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
style="@style/Text_Detail"
android:layout_weight="1"
android:layout_width="0dp"
android:text="简介" />
<ImageButton
android:id="@id/expand_collapse"//固定的id名称才能匹配上这个库
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:src="@drawable/arrow_down" />
</LinearLayout>
<TextView
style="@style/Text_Detail"//固定的id名称才能匹配上这个库
android:id="@id/expandable_text"
android:text="我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介我是简介"/>
</com.ms.square.android.expandabletextview.ExpandableTextView>
</LinearLayout>


public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.include_app_detail_part4);

// 经过配置之后必须调用代码设置内容才会显示
ExpandableTextView expand_layout= (ExpandableTextView) findViewById(R.id.expand_layout);
//setText();传入你需要展示内容的参数
expand_layout.setText(getString(R.string.desc));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息