Android 视图上的动画
我有这样的看法 当用户点击任何按钮时,比如说“奥迪” 我想要的是用类似动画的方式显示上面的视图 我试过的是 我做了一个这样的布局(只是为了测试动画) 然后Android 视图上的动画,android,android-animation,Android,Android Animation,我有这样的看法 当用户点击任何按钮时,比如说“奥迪” 我想要的是用类似动画的方式显示上面的视图 我试过的是 我做了一个这样的布局(只是为了测试动画) 然后 showView=(Button)findViewById(R.id.btn_showView); showView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {
showView=(Button)findViewById(R.id.btn_showView);
showView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
hideLayout.startAnimation(animShow);
animShow.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
hideLayout.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
hideLayout.setVisibility(View.VISIBLE);
}
});
}
});
这是工作,但不是我想要的。文本视图
来自底部。我希望我的照片能显示我想要的
提前感谢。由于您的代码中有
android:fromYDelta=“100%p”
,因此文本视图从底部出现。如果希望textView从原始位置向上移动,请使用以下代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator" >
<translate
android:duration="500"
android:toYDelta="-66%"
android:fromYDelta="0%" />
</set>
根据您的要求更改值-66%
从图中我可以猜到,您希望Marke:Audi
的父布局滑入滑出。
为此,必须设置父布局(要滑入和滑出的布局的父布局)的动画,还必须固定两个视图的高度比。然后在动画结束时,只需将“上视图”的可见性更改为“已消失”
尝试创建res->anim文件夹
在\u bottom.xml中滑动\u
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="-100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime" />
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0"
android:toYDelta="100%p" />
在\u top.xml中滑动\u
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"/>
滑出\u bottom.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="-100%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime" />
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0"
android:toYDelta="100%p" />
滑出\u top.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0" android:toYDelta="-100%p"
android:duration="@android:integer/config_longAnimTime" />
覆盖转换(R.anim.slide\u in\u top,R.anim.slide\u out\u top) 我找到了android>=3.0的解决方案,
对象动画师
我固定了视图的高度,因为在我的情况下这不是一个问题
我有两种看法
1) 俯视图宽度固定高度100倾斜(需要设置动画)使其不可见
2) 底视图固定高度100倾斜(可见)
3) 当我单击showView时,我调用以下行
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(topLayout,
"y", 100, 0);
objectAnimator.addListener(new AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
// TODO Auto-generated method stub
topLayout.setVisibility(View.VISIBLE);
showView.bringToFront();
}
@Override
public void onAnimationRepeat(Animator animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animator animation) {
}
@Override
public void onAnimationCancel(Animator animation) {
// TODO Auto-generated method stub
}
});
objectAnimator.setDuration(500);
objectAnimator.start();
也许这对某人有帮助。:) 试试这个安卓:fromYDelta=“-100%p”而不是安卓:fromYDelta=“100%p”不,它将从屏幕底部的-ve开始。@mmohinsnaeem你有什么解决方案吗?@parag我在回答中写道,我找到了什么!它将自上而下。我想要的是从下到上。对不起,我的错误只是将
的值从
和颠倒到
。编辑我的代码。我知道这一点。但它对fill\u parent
案例有效。