首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >TextView在安卓市场中扩展动画

TextView在安卓市场中扩展动画
EN

Stack Overflow用户
提问于 2011-05-08 14:21:16
回答 1查看 13K关注 0票数 10

谁能指出如何在Android Market动画中制作描述TextView的扩展动画的解决方案?有包装在FrameLayout中的TextView,点击'More‘标签后展开。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-17 07:24:13

解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private static int measureViewHeight( View view2Expand, View view2Measure ) {
    try {
        Method m = view2Measure.getClass().getDeclaredMethod("onMeasure", int.class, int.class);
        m.setAccessible(true);
        m.invoke(view2Measure,
                    MeasureSpec.makeMeasureSpec(view2Expand.getWidth(), MeasureSpec.AT_MOST),
                    MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
    } catch (Exception e) {
        return -1;
    }

    int measuredHeight = view2Measure.getMeasuredHeight();
    return measuredHeight;
}

static public void expandOrCollapse( View view2Expand, View view2Measure,
        int collapsedHeight ) {
    if (view2Expand.getHeight() < collapsedHeight)
        return;

    int measuredHeight = measureViewHeight(view2Expand, view2Measure);

    if (measuredHeight < collapsedHeight)
        measuredHeight = collapsedHeight;

    final int startHeight = view2Expand.getHeight();
    final int finishHeight = startHeight <= collapsedHeight ?
            measuredHeight : collapsedHeight;

    view2Expand.startAnimation(new ExpandAnimation(view2Expand, startHeight, finishHeight));
}

class ExpandAnimation extends Animation {
    private final View _view;
    private final int _startHeight;
    private final int _finishHeight;

    public ExpandAnimation( View view, int startHeight, int finishHeight ) {
        _view = view;
        _startHeight = startHeight;
        _finishHeight = finishHeight;
        setDuration(220);
    }

    @Override
    protected void applyTransformation( float interpolatedTime, Transformation t ) {
        final int newHeight = (int)((_finishHeight - _startHeight) * interpolatedTime + _startHeight);
        _view.getLayoutParams().height = newHeight;
        _view.requestLayout();
    }

    @Override
    public void initialize( int width, int height, int parentWidth, int parentHeight ) {
        super.initialize(width, height, parentWidth, parentHeight);
    }

    @Override
    public boolean willChangeBounds( ) {
        return true;
    }
};
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5927977

复制
相关文章
安卓属性动画小技巧
很多人第一次看到 view 的 getX getY 方法以为是取得相对于整个屏幕上的坐标,很容易在写一些动画效果出现不是预期的效果。
夏洛克的猫
2018/10/18
6190
安卓属性动画小技巧
用NumGo实现安卓动画
项目源码在github,欢迎star:https://github.com/toly1994328/NumGo
张风捷特烈
2018/09/26
1K0
安卓开发_浅谈Android动画(二)
在学习了四个基本动画之后,现在要学习一些更有用的效果 先给出所有的动画xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <set xmlns:andro
听着music睡
2018/06/08
6520
安卓开发_浅谈Android动画(四)
Property动画 概念:属性动画,即通过改变对象属性的动画。 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一、重要的动画类及属性值: 1、  ValueAnimator 基本属性动画类 方法 描述 setDuration(long duration) 设置动画持续时间的方法 setEvaluator(TypeEvaluator value) 设置插值计算的类型 setInterpolator(TimeInterpolator value) 设置时间插值器的类型 addUpdateLi
听着music睡
2018/06/08
7830
安卓开发_浅谈Android动画(三)
一、LayoutAnimation布局动画 用于为一个layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果 在res-anim文件下新建一个动画xml文件 1 <?xml ve
听着music睡
2018/06/08
6030
安卓开发_浅谈Android动画(一)
动画效果,针对图片实现 现在学习四种基本的简单动画效果 一、Tween Animation共同属性   1、Duration:动画持续时间(毫秒单位)   2、fillAfter:设置为true,动画转化在动画结束后被应用   3、fillBefore:设置为true,动画转化在动画开始前被应用   4、interpolator:动画插入器(加速,减速插入器)   5、repeatCount:动画重复次数   6、repateMode:顺序重复/倒序重复   7、startOffset:动画之间的时间间隔
听着music睡
2018/05/18
7660
手动发布安卓APK到应用市场
项目地址: https://github.com/zeyangli/helloworld-android-gradle.git
DevOps云学堂
2019/10/18
1K0
手动发布安卓APK到应用市场
安卓市场2016_鼓励大胆猜想
时至今日,但凡中国的手机设计公司,要没有android手机项目,那都不好意思说自己是搞手机的。智能机替代功能机,是大势所趋,在新的一年里,结合去年一年所看所思,大胆做出一点今年的市场猜想,欢迎大家批评指教
全栈程序员站长
2022/11/09
1910
Android--SVG在安卓系统中的应用
通过使用它的Path标签,几乎可以实现SVG中的其它所有标签,虽然可能会复杂一点,但这些东西都是可以通过工具来完成的,所以,不用担心写起来会很复杂。
aruba
2020/07/03
2.8K0
unicorn在安卓中使用
https://github.com/RikkaApps/Riru/releases
tea9
2023/03/08
9460
使用Scrcpy在Linux操控安卓
在 Windows 上系统自带了投屏功能,然而 deepin 也有 深度演示助手 ,不过我并没有在系统中找到。论坛中的反响都是在 15 版本,现在已经是 20.2 了。
caoayu
2021/03/11
4.4K0
使用Clang编译C程序在安卓设备中执行
在android-ndk-r19c目录下toolchains文件夹中的llvm文件夹即为clang编译工具包
乱码三千
2021/08/24
3.1K0
安卓中的数据存取
在我们每天使用的手机设备中,无时无刻都在进行着数据的存和取。安卓作为一种手机操作系统,提供了如下方式的数据存取方式:Preference,File,Sqlite和网络,可以根据程序的实际需求选择合适的存取方式。
牛老师讲GIS
2018/10/23
1.3K0
安卓中的数据存取
基于Flutter的安卓恶意软件,瞄准东亚市场
Fortinet FortiGuard实验室研究员Axelle Apvrille在上周发表的一份报告中说,这种恶意软件的出现代表了一种重大转变,因为它直接将恶意组件纳入Flutter代码中。
FB客服
2023/08/08
1940
基于Flutter的安卓恶意软件,瞄准东亚市场
MacDroid安卓设备传输助手,帮你在Mac电脑上传输安卓文件
安卓文件在Mac电脑上无法传输?你需要一款安卓设备传输工具!MacDroid Mac版是一款强大的安卓设备传输助手,使用非常简单,只需要将安卓手机使用 USB 连接到 Mac 电脑上即可将安卓设备挂载为本地磁盘,就像编辑mac磁盘上的文件一样编辑安卓设备上的文件,MacDroid支持所有 Android 和 MTP设备。
啾咪啾咪
2023/02/15
1.2K0
安卓 toast_安卓toast使用
一个 toast 是在屏幕上弹出一条信息,它的大小总是包裹着需要显示的内容,并且当前的 Activity 依然是可见并且可互动的。toast会自动消失,并且不接受任何互动事件。因为 toast 可以在后台的 Service 中创建,所以即使这个应用程序没有显示在屏幕上,仍然可以弹出 toast.
全栈程序员站长
2022/10/01
6.5K0
如何从电脑直接控制安卓手机 监控安卓手机 安卓手机如何控制安卓手机
实用方法很简单,在手机上安装这个软件,然后运行,然后进入Setting,点击User's settings,然后Create new user(我新建了一个叫做ACE的用户),注意这里在豌豆荚的截图只是做教程用的,实际不需要连接豌豆荚,甚至不需要WIFI,只要你打开了GPRS
程序员小顾
2021/12/01
16.7K0
『安卓』安卓开发基础--基本控件
显示文字,相当于Panel。一般用来文本展示,继承自android.view.View,在android.widget包中。
风骨散人Chiam
2020/10/28
7K0
DroidVim:在安卓手机上使用vim
有时候在邮件,钉钉,微信上收到一份文件,急需打开看一下,但有些文件用普通编辑器打开体验实在不佳,例如 patch,log 甚至 bin 文件。由于日常在电脑上使用的是 vim ,一个朴素的想法就是,手机上是不是也可以装个vim玩玩。
zqb_all
2020/03/19
3.4K0
DroidVim:在安卓手机上使用vim
安卓系统框架介绍(安卓常用框架)
——源码地址1: https://android.googlesource.com/
全栈程序员站长
2022/07/30
8.7K0
安卓系统框架介绍(安卓常用框架)

相似问题

安卓-带动画的可扩展TextView

170

安卓TextView动画

21

安卓TextView数字动画

24

安卓TextView动画问题

32

安卓简单TextView动画

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文