我有这样的看法:
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/...">
<ImageView
android:id="@+id/.."
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/black"
android:src="@drawable/.."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
我想创建简单而清晰的动画,将alpha(淡入)更改为容器顶部,从最底部(容器)为ImageView滑动。
我在stackoverflow中找到了很多解决方案,当你指定幻灯片的具体高度时。有没有一个从下到上的简单解决方案?
您必须放置四个动画文件,两个用于自下而上的动画,两个用于自上而下的动画:
对于从下到上的活动:
override fun onCreate(savedInstanceState: Bundle?) {
overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up)
super.onCreate(savedInstanceState)
}
对于自上而下的活动:
override fun onBackPressed() {
overridePendingTransition(R.anim.slide_in_down, R.anim.slide_out_down)
super.onBackPressed()
}
对于片段:
fun switchFragment1(fragment: Fragment, isAddBackStack: Boolean, tag: String) {
val fragmentTransaction = supportFragmentManager.beginTransaction()
fragmentTransaction.setCustomAnimations(R.anim.slide_in_up, R.anim.slide_out_up,
R.anim.slide_in_down, R.anim.slide_out_down)
if (isAddBackStack)
fragmentTransaction.addToBackStack(null)
fragmentTransaction.commitAllowingStateLoss()
}
滑入
<?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="100%p"
android:toYDelta="0%p" />
滑出
<?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%p"
android:toYDelta="-100%p" />
滑入滑下
<?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="-100%p"
android:toYDelta="0%p" />
滑出
<?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%p"
android:toYDelta="100%p" />
首先在res/anim中创建Xml文件/
从左到右动画:
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false">
<translate android:fromXDelta="-100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700"/>
</set>
在活动中添加以下代码:
this.overridePendingTransition(R.anim.where_start_animation,
R.anim.where_leave_animation);
我们需要创建一个xml文件,该文件定义要在res目录下的新文件夹anim(res/anim/slide\up.xml)中执行的动画类型,并具有所需的属性。如果res目录中不存在anim文件夹,请创建一个新文件夹。
要在android应用程序中使用向上或向下滑动动画,需要使用
用于向上滑动动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0"
android:fromYDelta="1000"
android:duration="500"/>
</set>
对于向下滑动动画,
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:toYDelta="100%"
android:duration="500"/>
</set>
调整
android: fromXDelta
、android: fromYDelta
、android: toYDelta
、android:持续时间
如您所愿。
如下所示定义xml
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/parentView>
<ImageView
android:id="@+id/.."
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@android:color/black"
android:src="@drawable/.."
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</LinearLayout>
LinearLayout parent= (LinearLayout)findViewById(R.id.parentView);
Animation aniSlide =
AnimationUtils.loadAnimation(getApplicationContext(),R.anim.slide_up);
parent.startAnimation(aniSlide);
实现试衣间app首页中的上下滑动的特效,可以上拉视图查看下一张图片,也可以下拉将看过的图片再拉下来显示。视图变换时显示透明的效果。 [Code4App.com]
问题内容: 触摸区域http://imageshack.us/a/img836/2909/swipe1.png 用户可以在绿色区域中向上,向右,向下,向左滑动。我现在如何获得例如向上滑动?或向下滑动?或向右滑动或向左滑动?例如如何获取一个字符串-> input = getSwiped(); ->输入然后是向上,或向右,向下,或向左 用户可以触摸两个按钮。1或2。1代表鸭子,2代表跳跃。 我想同时检
我正在制作一个飞溅屏幕,我希望图像视图像悬浮一样不断上升然后下降。这将在数据库在后台加载时发生(AsyncTask)。我尝试过动画视图,但它只在一个方向上,而且只有一次。我如何完成这件事?提前谢谢你: D
我试图将一个视图从右向左滑动,点击一个按钮,它的可见性就消失了,点击另一个按钮,它的可见性就消失了。我尝试了以下解决方案。但是它要求视图是可见的,并且它会将视图从一个位置滑动到另一个位置。我想要一个滑动效果,就像那样,但是要有。我怎样才能做到这一点?
仍然像这样显示和隐藏视图: 但如果我必须使用向上滑动和向下滑动动画来显示和隐藏,该怎么办
我看过一些样品,但没有一个适合我的需要。 我已经为动画创建了两个xml文件,但我不知道在更改的可见性时如何启动它们。