我的LinearLayout
中有两个screen
。
第一个应该是可见的,第二个应该在活动启动时不可见。在第一个button
中按Linearlayout
,第一个LinearLayout
应为invisible
,第二个应为visible
。
但是* 我想要一些隐形和不可见状态下的动画。 *就像1st
不可见时它应该animate
朝向右侧屏幕将隐身,而2nd
屏幕应来自leftside
的{{1}},并提供screen
效果。
答案 0 :(得分:2)
好的,这将是你的问题的答案
首先使用标记android:visibility="invisible"
隐藏xml布局文件中的第二个LinearLayout,因为您在活动启动时第一次不想要它,然后在anim
文件夹中创建res
文件夹两个动画xml文件,例如flip_in_left
,flip_in_right
的 flip_in_left.xml 强>
<translate
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0"
/>
然后在 flip_in_right.xml 中应用
<translate
android:duration="500"
android:fromXDelta="0"
android:toXDelta="100%"
/>
获取两个LinearLayout's
LinearLayout layout1 = (LinearLayout) findViewById(R.id.layout1);
LinearLayout layout2 = (LinearLayout) findViewById(R.id.layout2);
点击Button
在onClickListener
layout1.startAnimation(AnimationUtils.loadAnimation(this,flip_in_right));
layout.setVisible(View.GONE);
layout2.setVisible(View.VISIBLE)
layout1.startAnimation(AnimationUtils.loadAnimation(this,flip_in_left));
像这样你可以做到
答案 1 :(得分:1)
试试这个:
TranslateAnimation animation = new TranslateAnimation(0, -viewWidth, 0, 0); // To animate to the left. To animate right, remove the "-".
animation.setDuration(500);
animation.setAnimationListener(new TranslateAnimation.AnimationListener()
{
@Override
public void onAnimationStart(Animation animation) { }
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationEnd(Animation animation)
{
myView.setVisibility(View.GONE);
}
});
myView.startAnimation(animation);
答案 2 :(得分:1)
在res中创建anim文件夹并创建xml,如slie_out_left.xml
<translate
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="100%"
android:toYDelta="0" />
这是另一个xml文件名是silde_in_right.xml
<translate
android:duration="300"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
使用此
获取活动中的动画Animation anim1=AnimationUtils.loadAnimation(this,R.anim.slide_out_left);
Animation anim2=AnimationUtils.loadAnimation(this,R.anim.slide_in_right);
将此动画应用于受尊重的布局。并保持各自的能见度功能。
答案 3 :(得分:0)
holder.layout.setVisibility(View.VISIBLE);
Animation animation = AnimationUtils.loadAnimation(
_context, R.animator.left_anim);
animation.setDuration(500);
holder.layout.setAnimation(animation);
holder.layout.animate();
如果您不参加活动课程
here is the left_anim xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0%" >
</translate>