android – TranslateAnimation后按钮不可点击

android – TranslateAnimation后按钮不可点击,第1张

概述点击后,我想移动按钮(带动画).我希望它在第一次点击时移动100个像素,底部移动100个像素,第二个100像素,第三个底部的100个像素,依此类推. 我有简单的布局文件(main.xml): <?xml version="1.0" encoding="utf-8"?><Button xmlns:android="http://schemas.android.com/apk/res/android 点击后,我想移动按钮(带动画).我希望它在第一次点击时移动100个像素,底部移动100个像素,第二个100像素,第三个底部的100个像素,依此类推.
我有简单的布局文件(main.xml):
<?xml version="1.0" enCoding="utf-8"?><button xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:ID="@+ID/button"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center"androID:text="Press to begin animation" />

我的启动活动如下:

public class TestActivity extends Activity {public final String TAG="TestActivity";boolean totop=false;@OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.main);     button b=(button)findVIEwByID(R.ID.button);    b.setonClickListener(new OnClickListener() {        public voID onClick(VIEw v) {            Toast.makeText(TestActivity.this,"left="+v.getleft()+"\nright="+v.getRight(),Toast.LENGTH_SHORT).show();            Animation translateAnimation;            if(totop) translateAnimation=new TranslateAnimation(0,-100);             else translateAnimation=new TranslateAnimation(0,100);            translateAnimation.setDuration(1000);            translateAnimation.setFillEnabled(true);            translateAnimation.setFillAfter(true);            v.startAnimation(translateAnimation);            totop=!totop;        }    });}}

当我按下按钮时,我可以看到它移动到底部.但是当我第二次按下它的时候,没有任何反应.我必须点击按钮的初始矩形再次开始动画.看起来按钮是按预期的方式绘制的,但是实际的视图保持在同一位置.我想知道如何完全移动视图,而不仅仅是视觉部分.
此外,我使用Toast.maketext.show来确保按钮的坐标不会从点击单击更改.

解决方法 是的,这是正常的行为.这是因为动画只是重新渲染VIEw的像素,但它在显示器上的位置保持不变.如果要将视图重新定位到动画结束的地方,则需要调用VIEw.layout()方法并传递4个参数,该参数描述了其布局中的VIEws新位置.请记住,VIEw.layout()获取相对于VIEws父类的参数. 总结

以上是内存溢出为你收集整理的android – TranslateAnimation后按钮不可点击全部内容,希望文章能够帮你解决android – TranslateAnimation后按钮不可点击所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存