1.效果:点击箭头,实现一个动画效果弹出隐藏textview的内容.
2.准备环境
sutdio 2.23 jdk 1.8 逍遥模拟器(或者android手机)
3.实现思路
(1)界面布局初始化前textview高度是0,当界面初始化时候,根据布局改变监听器去获取textview的制定行高(我这里制定1行)
(2)根据textview的内容content,我们new一个textview赋值content 拿到new_textview 的所有行高(即textview所有高)
(3)设置recyclerview的item子控件监听,textview指定行高-所有行高切换(利用属性动画),同时改变箭头ui
4.code实现
(1)recyclerview的adapter onbindViewHolder()方法 获取指定行高,利用回调设置item子控件的点击事件
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
RvViewHolder viewHolder = (RvViewHolder) holder;
//拿到初始化tvDesc 的高度 b布局改变监听器
//第一次显示界面的时候执行了onLayout方法,这时就会触发onGlobalLayout方法,
final TextView tvDesc = viewHolder.tvDesc;
tvDesc.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//刚开始这时候我们的detail_desc还没有数据,所以获取高将会是0,所以我们一直监听到高有值再取消监听。
tvDescHight = tvDesc.getHeight();
if(tvDescHight > 0) {