android-如何将动画添加到线性布局?

android-如何将动画添加到线性布局?,第1张

概述我正在使用线性布局从.net服务器获取带有图像的消息.当出现新消息时,将增加布局的位置,并将新消息一一添加到布局的顶部.问题是新消息何时出现,新消息突然添加到布局中.我想将动画应用于布局,并使我的应用程序像收到新消息时一样,将消息缓慢添加到布局中.意味着先前的消息缓慢向

我正在使用线性布局从.net服务器获取带有图像的消息.

当出现新消息时,将增加布局的位置,并将新消息一一添加到布局的顶部.

问题是新消息何时出现,新消息突然添加到布局中.

我想将动画应用于布局,并使我的应用程序像收到新消息时一样,将消息缓慢添加到布局中.意味着先前的消息缓慢向下移动,新消息被添加到布局顶部.

解决方法:

在linearLayout上使用android:animateLayoutChanges来保存数据.添加新内容时,这将触发动画.首先,将旧数据向下移动,为更多内容腾出空间.然后进行第二步,新数据将淡入空闲空间.

范例程式码

main.xml

<?xml version="1.0" enCoding="utf-8"?><linearLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/baseLL"    androID:orIEntation="vertical"    androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent">    <!-- button used to add data -->    <button        androID:layout_wIDth="192dip"        androID:layout_height="wrap_content"        androID:layout_gravity="center_horizontal"        androID:text="Add Content"        androID:onClick="onAddContentClick" />    <!-- button used to remove data -->    <button        androID:layout_wIDth="192dip"        androID:layout_height="wrap_content"        androID:layout_gravity="center_horizontal"        androID:text="Remove Content"        androID:onClick="onRemoveContentClick" />    <!-- data will be added to this linearLayout at run time -->    <linearLayout        androID:ID="@+ID/dataLL"        androID:orIEntation="vertical"        androID:layout_wIDth="fill_parent"        androID:layout_height="fill_parent"        androID:animateLayoutChanges="true"    >    </linearLayout></linearLayout>

basicanimation.java

package com.test.animation.basic;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.linearLayout;import androID.Widget.linearLayout.LayoutParams;import androID.Widget.TextVIEw;public class BasicAnimationActivity extends Activity {    /** Called when the activity is first created. */    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);    }    public voID onAddContentClick(VIEw v) {        linearLayout dataLL = (linearLayout) findVIEwByID(R.ID.dataLL);        int dataCount = dataLL.getChildCount();        TextVIEw newDataTV = generateData(dataCount);        dataLL.addVIEw(newDataTV, 0);    }    public voID onRemoveContentClick(VIEw v) {        linearLayout dataLL = (linearLayout) findVIEwByID(R.ID.dataLL);        if (dataLL.getChildCount() > 0) {            dataLL.removeVIEwAt(0);        }    }    private TextVIEw generateData(int dataCount) {        TextVIEw TV = new TextVIEw(this);        TV.setText("Data " + dataCount);        TV.setLayoutParams(new LayoutParams(androID.vIEw.VIEwGroup.LayoutParams.FILL_PARENT,                androID.vIEw.VIEwGroup.LayoutParams.WRAP_CONTENT));        return TV;    }}
总结

以上是内存溢出为你收集整理的android-如何将动画添加到线性布局?全部内容,希望文章能够帮你解决android-如何将动画添加到线性布局?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1083374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存