我们都知道如何使用创建动画的这篇文章.但我该怎么做呢?"card filp"
new api
on apis < 3.0
更新:
只要有像android-FlipView这样的好用且易于使用的库,我认为你真的不需要经历如此艰难的方式......
我们正在构建一个应用程序,可以执行大量动画并下载大量图像.在一定数量的事务(可预测的数字)之后,应用程序崩溃并出现错误:
A/Looper: Could not create wake pipe. errno=24
Run Code Online (Sandbox Code Playgroud)
我们在代码中不使用Looper,但我们使用的一些库确实使用了Looper:
有没有任何机构经历过任何这些库的Looper错误,并知道如何解决?
我正在使用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) 我想从我的项目中替换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)
谢谢.
我正在尝试使用两个textviews制作动画.两者都处于相对布局中.动画的功能是留下textview将稍微离开,同时右侧textview也将留下一点点.我试过了:
http://nineoldandroids.com/和默认方式.
但对于这两种情况,我在这个过程中都有差距.我已经提出了一个问题,但我没有得到任何积极的答复:
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) 我正在使用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) 我使用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) 我试图在我的应用程序中创建一个动画视图,并使用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
在第一段代码中将视图可见性设置为后,如何清除侦听器?
简单的任务:通过按下按钮,它将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) 我正在尝试为ViewPager中的项目设置动画,而PageTransformer符合要求.我希望它向后兼容Android 2.2所以我使用的是支持v4库.然而...
由于属性动画仅支持从Android 3.0开始转发,因此将忽略在早期平台版本上的> ViewPager上设置PageTransformer.
因此PageTransformer不适用于旧版本
我正在使用Jake Wharton的NineOldAndroids库,所以我可以使用该API,但我不确定如何为ViewPager做动画.
我怎么能这样做?
我创建了一个视图,其中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) android ×11
nineoldandroids ×11
animation ×2
android-xml ×1
animator ×1
api ×1
exception ×1
flip ×1
looper ×1
performance ×1
picasso ×1
proguard ×1
residemenu ×1
viewhelper ×1