这篇文章将为大家详细讲解有关Android如何实现带动画效果的可点击展开TextView,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
效果图:
收起(默认)效果:
点击展开后的效果:
& lt; ? xml version=?.0“,编码=皍tf-8" ?比; LinearLayout & lt; ,android: id=癅 + id/activity_main" ,xmlns: android=癶ttp://schemas.android.com/apk/res/android" ,android: layout_width=癿atch_parent" ,android: layout_height=癿atch_parent" ,android:取向=皏ertical" ,比; & lt;滚动视图 android:才能id=癅 + id/sv" android:才能layout_width=癿atch_parent" android:才能layout_height=癿atch_parent" 祝辞才能; ,& lt; LinearLayout ,,android: layout_width=癿atch_parent" ,,android: layout_height=癿atch_parent" ,,android:背景=? f6f6f6" ,,android:取向=皏ertical" ,,android:填充=? dp"比; & lt; TextView。才能 ,,,android: layout_width=癿atch_parent" ,,,android: layout_height=皐rap_content" ,,,android: maxLines=?”; ,,,android:文本=凹蚪椤? ,,,android:输入textColor=? 000000“; ,,,android: textSize=?0 sp"/比; & lt; TextView。才能 ,,,android: id=癅 + id/tv_des" ,,,android: layout_width=癿atch_parent" ,,,android: layout_height=皐rap_content" ,,,android:输入textColor=? 666666“; ,,,android: textSize=?8 sp"/比; ,,& lt;使用 ,,,android: layout_width=癿atch_parent" ,,,android: layout_height=皐rap_content" ,,,android: layout_marginTop=? dp" ,,,android:重力=癱enter_vertical" ,,,android:取向=癶orizontal"比; ,,,& lt; ImageView ,,,,android: id=癅 + id/iv_des_arrow" ,,,,android: layout_width=?0 dp" ,,,,android: layout_height=?0 dp" ,,,,android: layout_alignParentEnd=皌rue" ,,,,android:背景=癅mipmap/arrow_down"/比; ,,& lt;/RelativeLayout> & lt;才能/LinearLayout> ,& lt;/ScrollView> & lt;/LinearLayout>
功能实现:
package com.cnfol.demo; import android.animation.Animator; import android.animation.ValueAnimator; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.widget.ImageView; import android.widget.ScrollView; import android.widget.TextView; public class  MainActivity extends Activity  implements View.OnClickListener { ,private TextView  tv_des; ,private ImageView  iv_des_arrow; ,private boolean isExpandDes =,假;//是否展开整个描述 ,private int minHeight =, 0; ,private int maxHeight =, 0; ,private ScrollView 滚动视图; ,@Override ,protected void  onCreate (Bundle savedInstanceState), { super.onCreate才能(savedInstanceState); ,,setContentView (R.layout.activity_main); scrollView 才能=,(滚动视图),findViewById (R.id.sv); tv_des 才能=,(TextView), findViewById (R.id.tv_des); tv_des.setOnClickListener才能(这个); iv_des_arrow 才能=,(ImageView), findViewById (R.id.iv_des_arrow); iv_des_arrow.setOnClickListener才能(这个); String 才能;s =,“中华人民共和国,简称中国,位于亚洲东部,太平洋西岸,,是工人阶级领导的,以工农联盟为基础的人民民主专政的社会主义国家。\ n" + ,,,“\ n" + ,,,,1949年(己丑年)10月1日成立,,以五星红旗为国旗,,《义勇军进行曲》为国歌,,国徽内容包括国旗,天安门,齿轮和麦稻穗,,首都北京,,省级行政区划为23个省,5个自治区,4个直辖市,2个特别行政区,,是一个以汉族为主体民族,由56个民族构成的统一多民族国家,汉族占总人口的91.51%。\ n" + ,,,“\ n" + null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullAndroid如何实现带动画效果的可点击展开TextView