标签: nineoldandroids

在老机器人上显示卡翻转动画

我们都知道如何使用创建动画的这篇文章.但我该怎么做呢?"card filp"new apion apis < 3.0

更新:

只要有像android-FlipView这样的好用且易于使用的库,我认为你真的不需要经历如此艰难的方式......

api android flip nineoldandroids

24
推荐指数
3
解决办法
2万
查看次数

A/Looper:无法创建尾管.错误号= 24

我们正在构建一个应用程序,可以执行大量动画并下载大量图像.在一定数量的事务(可预测的数字)之后,应用程序崩溃并出现错误:

A/Looper: Could not create wake pipe. errno=24
Run Code Online (Sandbox Code Playgroud)

我们在代码中不使用Looper,但我们使用的一些库确实使用了Looper:

  1. ActionBarSherlock:我不认为这是罪魁祸首
  2. facebook:我不认为这是罪魁祸首
  3. nineoldandroid:这个动画库可能是罪魁祸首
  4. 凌空:这可能不是罪魁祸首
  5. 毕加索:这可能是罪魁祸首

有没有任何机构经历过任何这些库的Looper错误,并知道如何解决?

android looper nineoldandroids android-volley picasso

9
推荐指数
1
解决办法
4161
查看次数

java.lang.NoClassDefFoundError:com.nineoldandroids.view.ViewHelper

我正在使用daimajia/AndroidImageSlider.我导入了所有依赖项,如NineOldAndroid,Picasso和这个'com.daimajia.slider:library:1.1.2@aar',并在Github上编码引导.但每当我试图运行应用程序时它会停止并显示错误.我的biuld.gradle应用程序是.谢谢你.已经花了两天时间.

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.daimajia.slider:library:1.1.2@aar'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile files('C:/Users/Vinit/Downloads/Coupan/library/volley.jar')
compile files('C:/Users/Vinit/Downloads/Coupan/library/nineoldandroids-2.3.0.jar')}
Run Code Online (Sandbox Code Playgroud)

不知道我在哪里做错了什么.这是我的日志文件.

java.lang.NoClassDefFoundError: com.nineoldandroids.view.ViewHelper
        at com.daimajia.slider.library.Transformers.BaseTransformer.onPreTransform(BaseTransformer.java:75)
        at com.daimajia.slider.library.Transformers.BaseTransformer.transformPage(BaseTransformer.java:42)
        at com.daimajia.slider.library.Tricks.ViewPagerEx.onPageScrolled(ViewPagerEx.java:1727)
        at com.daimajia.slider.library.Tricks.ViewPagerEx.pageScrolled(ViewPagerEx.java:1649)
        at com.daimajia.slider.library.Tricks.ViewPagerEx.scrollToItem(ViewPagerEx.java:581)
        at com.daimajia.slider.library.Tricks.ViewPagerEx.onLayout(ViewPagerEx.java:1599)
        at android.view.View.layout(View.java:15131)
        at android.view.ViewGroup.layout(ViewGroup.java:4862)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1160)
        at android.view.View.layout(View.java:15131)
        at android.view.ViewGroup.layout(ViewGroup.java:4862)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1160)
        at android.view.View.layout(View.java:15131)
        at android.view.ViewGroup.layout(ViewGroup.java:4862)
        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1160)
        at android.view.View.layout(View.java:15131)
        at android.view.ViewGroup.layout(ViewGroup.java:4862)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
        at android.view.View.layout(View.java:15131)
        at android.view.ViewGroup.layout(ViewGroup.java:4862)
        at android.support.v7.internal.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:493)
        at android.view.View.layout(View.java:15131)
        at android.view.ViewGroup.layout(ViewGroup.java:4862)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
        at android.view.View.layout(View.java:15131)
        at …
Run Code Online (Sandbox Code Playgroud)

android nineoldandroids

7
推荐指数
1
解决办法
5965
查看次数

使用com.nineoldandroids库的替代方法是什么?

我想从我的项目中替换com.nineoldandroids库的依赖项,并将其替换为android本机库.

我正在尝试基于这个http://www.tutecentral.com/android-swipe-listview/制作一个项目.但是,我不需要支持低于v11的Android版本.因此,无需使用此库.但我找不到在其中使用的内容,而不是对代码本身进行更改.

该项目导入类

import com.nineoldandroids.animation.Animator;
import com.nineoldandroids.animation.AnimatorListenerAdapter;
import com.nineoldandroids.animation.ValueAnimator;
import com.nineoldandroids.view.ViewHelper;
import static com.nineoldandroids.view.ViewHelper.setAlpha;
import static com.nineoldandroids.view.ViewHelper.setTranslationX;
import static com.nineoldandroids.view.ViewPropertyAnimator.animate;
Run Code Online (Sandbox Code Playgroud)

谢谢.

animation android viewhelper nineoldandroids animator

6
推荐指数
1
解决办法
1638
查看次数

具有多个视图同步问题的滑动动画

我正在尝试使用两个textviews制作动画.两者都处于相对布局中.动画的功能是留下textview将稍微离开,同时右侧textview也将留下一点点.我试过了:

http://nineoldandroids.com/和默认方式. 在此输入图像描述

但对于这两种情况,我在这个过程中都有差距.我已经提出了一个问题,但我没有得到任何积极的答复:

Android滑块动画未同步

Nineoldandroids代码:

xml文件:

 <RelativeLayout  
android:layout_width="match_parent" android:layout_height="wrap_content"  
android:orientation="horizontal"
android:layout_below="@+id/target"
android:layout_marginTop="50dp"> 

<TextView
    android:id="@+id/TextView01"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"     
    android:background="#f00"
    android:gravity="center"
    android:text="RED"
    android:textColor="#000" />

<Button
        android:id="@+id/TextView02"
        android:layout_width="50dp"
        android:layout_height="match_parent"
        android:layout_alignBottom="@+id/TextView01"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/TextView01"
        android:background="#0F0"
        android:text="TXT"
        android:visibility="invisible" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java:

public class MainActivity extends Activity {
  double counter = 0;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.toggles);
    final View target = findViewById(R.id.target);
    final int duration = 5*1000;
    final int duration1 = 300;

    final View textView1 = findViewById(R.id.TextView01);
    final View textView2 = findViewById(R.id.TextView02);
    textView1.setOnClickListener(new …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-xml nineoldandroids

5
推荐指数
1
解决办法
2817
查看次数

NineOldAndroids ObjectAnimators不能与ProGuard和签名apk一起使用

我正在使用NineOldAndroids的ObjectAnimators来淡化Android Map v2标记,其代码如下:

mMarkerSelected = mMap.addMarker(new MarkerOptions()
        .position(location.getLatLng())
        .title(location.getName())
        .snippet(location.getId())
        .icon(BitmapDescriptorFactory.defaultMarker(location.getMarkerHue())));
mMarkerSelected.setAlpha(0.0f);
ObjectAnimator.ofFloat(mMarkerSelected, "alpha", 0.0f, 1.f)
                .setDuration(300).start();
Run Code Online (Sandbox Code Playgroud)

这与apk的可调试版本完美配合.

然而,当我签我的APK,并搭配使用ProGuard,突然标记不褪色.我的猜测是,阿尔法属性已经被混淆,使传递"alpha"ObjectAnimator.ofFloat不符合的混淆的阿尔法属性相匹配Marker.使用ProGuard时如何让动画工作?

为了完整起见,这是我的proguard-rules.txt的唯一内容

-dontwarn com.squareup.okhttp.**
Run Code Online (Sandbox Code Playgroud)

android proguard nineoldandroids

5
推荐指数
1
解决办法
2589
查看次数

ZipException:重复条目:com.nineoldandroids

我使用gradle依赖在我的项目中添加了ResideMenu.但我得到这个问题:

错误:任务':app:transformClassesWithJarMergingForDebug'的执行失败.

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:com/nineoldandroids/animation/Animator $ AnimatorListener.class

当我检查外部库时,我发现library-2.4.0和resideMenu-1.6都包含com.nineoldandroids:

在此输入图像描述

我在stackoverflow上遇到了几乎所有类似的问题并尝试了解决方案.任何人都可以告诉我需要做些什么来消除这个问题.

以下是我在项目中使用的依赖项:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'com.loopj.android:android-async-http:1.4.9'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.wrapp.floatlabelededittext:library:0.0.6'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.specyci:residemenu:1.6+'
}
Run Code Online (Sandbox Code Playgroud)

android exception nineoldandroids residemenu

5
推荐指数
0
解决办法
1619
查看次数

如何清除NineOldAndroids设置的动画监听器?

我试图在我的应用程序中创建一个动画视图,并使用NineOldAndroid进行动画制作.
期望的效果是淡出视图,然后将其可见性设置为不可见,以便在不可见时不会被点击.这是我怎么做的.

ViewPropertyAnimator.animate(view).alpha(0).setListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }

            @Override
            public void onAnimationEnd(Animator animation) {
                view.setVisibility(View.GONE);
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        });
Run Code Online (Sandbox Code Playgroud)

这里的问题是上面的监听器坚持使用view,当我再次尝试将其淡入时,监听器再次被调用,导致视图GONE出现.

ViewPropertyAnimator.animate(enterGallery).alpha(1);
Run Code Online (Sandbox Code Playgroud)

GONE在第一段代码中将视图可见性设置为后,如何清除侦听器?

android android-animation nineoldandroids

4
推荐指数
1
解决办法
1648
查看次数

如果它们在AnimationListener的onAnimationEnd中启动,则动画会进入无限循环

简单的任务:通过按下按钮,它将X值缩放为0,当动画完成时,在第二个视图上开始另一个动画,将X从0缩放到1.应该播放1秒的反向动画,这就是全部.在下面运行代码我有动画第一部分的无限动画循环.

使用了nineoldandroids lib,但我认为这与原生动画框架至少在jelly bean设备上并没有什么不同.

public class MainActivity extends Activity
{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final View mybutton = findViewById(R.id.mybutton);
    final View myprogress = findViewById(R.id.myprogress);

    mybutton.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            animate(mybutton).scaleX(0).setListener(new AnimatorListenerAdapter()
            {
                @Override
                public void onAnimationEnd(Animator animation)
                {
                    mybutton.setVisibility(View.INVISIBLE);
                    myprogress.setVisibility(View.VISIBLE);
                    ViewHelper.setScaleX(myprogress, 0f);

                    animate(myprogress).scaleX(1).setListener(new AnimatorListenerAdapter()
                    {
                        @SuppressWarnings("ConstantConditions")
                        @Override
                        public void onAnimationEnd(Animator animation)
                        {
                            mybutton.getHandler().postDelayed(new Runnable()
                            {
                                @Override
                                public void run()
                                {
                                    animate(myprogress).scaleX(0).setListener(new AnimatorListenerAdapter()
                                    {
                                        @Override
                                        public void onAnimationEnd(Animator animation)
                                        {
                                            myprogress.setVisibility(View.INVISIBLE);
                                            mybutton.setVisibility(View.VISIBLE);

                                            ViewHelper.setScaleX(mybutton, …
Run Code Online (Sandbox Code Playgroud)

animation android nineoldandroids

3
推荐指数
1
解决办法
1540
查看次数

向后兼容的PageTransformer

我正在尝试为ViewPager中的项目设置动画,而PageTransformer符合要求.我希望它向后兼容Android 2.2所以我使用的是支持v4库.然而...

由于属性动画仅支持从Android 3.0开始转发,因此将忽略在早期平台版本上的> ViewPager上设置PageTransformer.

因此PageTransformer不适用于旧版本

我正在使用Jake Wharton的NineOldAndroids库,所以我可以使用该API,但我不确定如何为ViewPager做动画.

我怎么能这样做?

android android-animation android-viewpager nineoldandroids

1
推荐指数
1
解决办法
2193
查看次数

如何使用ObjectAnimator基于拖动动作平滑地向上/向下动画视图?

我创建了一个视图,其中MapFragment占据了屏幕的前1/3,而ListView占据了屏幕的底部2/3.ListView在其列表项的正上方有一个"句柄",用户可以使用它来向上或向下拖动整个ListView.一旦用户将手指从屏幕上移开,ListView应该为整个屏幕的壁橱顶部或底部边框设置动画.我到目前为止工作但动画不顺畅.在ListView开始向最近边缘动画之前,用户从屏幕上松开手指后会有明显的暂停.我正在使用ObjectAnimator的nineoldandroids实现,以便动画可用于预蜂窝设备.有任何想法吗?

这是我的onTouch impl如下:

public boolean onTouch(View v, MotionEvent event) {
    final LayoutParams listLp = (LayoutParams) mListFrame.getLayoutParams();
    final int topMargin = -mHandleShadow.getHeight();
    final int middleMargin = getResources().getDimensionPixelSize(R.dimen.map_handle_margin_top);
    final int bottomMargin = getView().getHeight() - mHandle.getHeight() - mHandleShadow.getHeight();

    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            mInitY = (int) event.getRawY();
            mTopMargin = listLp.topMargin;

            break;
        case MotionEvent.ACTION_MOVE:
            int y = mTopMargin + (int) event.getRawY() - mInitY;

            if (y >= -mHandleShadow.getHeight() && y <= (mViewHeight - mHandle.getHeight() - mHandleShadow.getHeight())) {
                listLp.topMargin = y;
                mListFrame.setLayoutParams(listLp);
            }

            break;
        case MotionEvent.ACTION_UP: …
Run Code Online (Sandbox Code Playgroud)

performance android android-animation nineoldandroids

1
推荐指数
1
解决办法
6651
查看次数