我已经编写了一个执行动画的代码。 因为我已经在anim文件夹中写了一个动画文件
my animone.xml file
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromYDelta="0%p"
android:toYDelta="-5%p"
android:duration="1500"/></set>
这里我在视图上应用动画,这是一个LinearLayout
Animation animate= AnimationUtils.loadAnimation(context,R.anim.animone);
subProfile.setVisibility(View.VISIBLE);//subProfile is a linear layout
subProfile.startAnimation(animate);
所以当我运行此代码时。在指定的持续时间后,它会突然改变视图的位置而不会平滑滑动。 我想让它顺利。请帮忙。
----------------这是我的完整代码---------------- 主片段文件
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.videosapp.Fragments.HomeFragment"
android:background="@drawable/background">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/my_pofile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:id="@+id/dshImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_centerHorizontal="true"
android:background="@drawable/dashboard"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dashboard"
android:layout_below="@id/dshImg"
android:textColor="@color/colorText"
android:textSize="18sp"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout android:id="@+id/podcast"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/podcast"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Podcast"
android:textColor="@color/colorText"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout android:id="@+id/photo_gallery"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/photo_gallery"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Photo Gallery"
android:textColor="@color/colorText"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout android:id="@+id/social"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/social"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Social"
android:textColor="@color/colorText"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout android:id="@+id/about_us"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/aboutus"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Know US"
android:textColor="@color/colorText"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout android:id="@+id/contact_us"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/contact_us"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contact Us"
android:textColor="@color/colorText"
android:textSize="18sp" />
</LinearLayout>
<LinearLayout android:id="@+id/setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/settings"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Settings"
android:textColor="@color/colorText"
android:textSize="18sp"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout android:id="@+id/exit_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1"
android:gravity="center"
android:layout_centerInParent="true" android:visibility="gone">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/exit"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Exit"
android:textColor="@color/colorText"
android:textSize="18sp" />
</LinearLayout>
<ImageView
android:id="@+id/menu_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/center_menu"
android:layout_centerInParent="true" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--On following LinearLayout i want to apply animation-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerInParent="true"
android:id="@+id/profile"
android:visibility="gone"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_profile_icon"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="My Profile"
android:gravity="center_vertical"
android:textColor="@color/colorText"
android:textSize="20sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:layout_centerInParent="true"
android:id="@+id/programs"
android:visibility="gone"
>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/folder_icon"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="My Programs"
android:gravity="center_vertical"
android:textColor="@color/colorText"
android:textSize="20sp"
/>
</LinearLayout>
</RelativeLayout>
----------------------动画xml文件----------------------
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromYDelta="0%"
android:interpolator="@android:anim/decelerate_interpolator"
android:toYDelta="-100%" /></set>
-----------我在java文件中应用动画点击事件---------
public void onClick(View v) {
switch (v.getId()) {
case R.id.my_pofile:
animate= AnimationUtils.loadAnimation(ctx,R.anim.animone);
subProfile.setVisibility(View.VISIBLE);
subProfile.startAnimation(animate);
break;
//other cases
}}
答案 0 :(得分:2)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromYDelta="0%"
android:interpolator="@android:anim/decelerate_interpolator"
android:toYDelta="-100%" />
答案 1 :(得分:1)
尝试
降低该版面内所有图像的分辨率或尺寸
它将解决平滑问题。
我也遇到了这个问题,并在互联网上进行了搜索,但没有找到任何东西,然后我觉得布局上的所有内容都很慢,然后我降低了所有图像(包括背景)的分辨率和尺寸,一切都开始如此顺畅地进行。
这将修复100%,无论您使用什么动画(例如AnimationUtils或ObjectAnimator)都没有关系。如果无法正常工作,请降低所使用图像的分辨率。
谢谢