6

मैं को ImageView पर उपयोग करने का प्रयास कर रहा हूं, लेकिन ImageView बिल्कुल नहीं चलता है। जब मैं प्रोजेक्ट चलाता हूं तो कुछ भी नहीं होता है।एक छवि दृश्य पर अनुवाद एनीमेशन काम नहीं करता

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@string/layout" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.ennio.lojaprove.MainActivity"> 

<ImageView 
    android:id="@+id/img" 
    android:src="@drawable/bg" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:adjustViewBounds="true" 
    android:scaleType="centerCrop" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:src="@drawable/border" 
    android:scaleType="centerCrop" 
    android:layout_alignTop="@+id/img" 
    android:layout_centerHorizontal="true" /> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView2" 
    android:src="@drawable/border" 
    android:scaleType="centerCrop" 
    android:layout_alignBottom="@+id/img" 
    android:layout_centerHorizontal="true" /> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView3" 
    android:src="@drawable/pengesa" 
    android:layout_above="@+id/imageView2" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

    </RelativeLayout> 

क्या मैं गलत कर रहा हूँ: यहाँ मेरी कोड है:

import android.app.Activity; 
import android.os.*; 
import android.view.animation.AccelerateInterpolator; 
import android.view.animation.TranslateAnimation; 
import android.widget.ImageView; 

public class MainActivity extends Activity { 
ImageView a; 
TranslateAnimation pengesat; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    a = (ImageView) findViewById(R.id.imageView3); 
    pengesat = new TranslateAnimation(0.0f, 1.0f, 0.0f, 0.0f); 
    pengesat.setDuration(5000); 
    pengesat.setRepeatCount(1); 
    pengesat.setInterpolator(new AccelerateInterpolator()); 
    Thread myThread= new Thread(new Runnable(){ 
     @Override 
     public void run() { 
      a.post(new Runnable() { 
       @Override 
       public void run() { 
        a.startAnimation(pengesat); 
       } 
      }); 
     } 
    }); 
    myThread.start(); 
    } 
} 

और यहाँ मेरी एक्सएमएल कोड है?

उत्तर

2

आपको किसी अन्य थ्रेड से एनीमेशन शुरू करने की आवश्यकता नहीं है। तो बस इसे प्रारंभ करने के बाद यह

a = (ImageView) findViewById(R.id.imageView3); 
pengesat = new TranslateAnimation(0.0f, 1.0f, 0.0f, 0.0f); 
pengesat.setDuration(5000); 
pengesat.setRepeatCount(1); 
pengesat.setInterpolator(new AccelerateInterpolator()); 
a.startAnimation(pengesat); 
+0

कोई फर्क नहीं था: /, यह धागा बिना काम करता था, लेकिन मैं था " 30/31/32 फ्रेम छोड़ दिया "त्रुटि। यही कारण है कि मैंने किसी अन्य धागे से एनीमेशन शुरू करने की कोशिश की – Eae

+0

तो क्या आपके मूल्य बहुत छोटे हो सकते हैं? .. इसे आज़माएं: 'pengesat = new translAnimation (0.0f, 100.0f, 0.0f, 100.0f); ' – mohax

+0

हां, यह बिना काम किए धागा। लेकिन फ्रेम छोड़ें। मैंने नए मानों के साथ थ्रेड से एनीमेशन शुरू करने का प्रयास किया, 'ImageView' सभी – Eae

0
प्रारंभ है

enter image description here

आप आप काम करने के लिए हैंडलर का उपयोग कर सकते हैं

+0

पर नहीं चला, मैंने कोशिश की, यह काम किया। लेकिन ऐसा लगता है कि फ्रेम छोड़ते हैं, हालांकि मेरे लोगो में यह नहीं कहता कि फ्रेम छोड़ रहे हैं:/समस्या क्या हो सकती है? यह – Eae

+0

की तरह एक चिकनी एनीमेशन नहीं है शायद आप एनीमेशन को विन्डोफोकस चेंज() पर विधि में शुरू करने का प्रयास कर सकते हैं। गतिविधि सक्रिय होने पर विधि काम करेगी, हालांकि मूल कारण विंडो की स्थिति बदल गई है। – caowenhua

+0

और आप एपीआई 13 से बड़े हैं। आप view.animate() .... (आप कौन सी एनीमेशन खेलना चाहते हैं) का उपयोग कर सकते हैं .setDuration (5000) .start(); – caowenhua

संबंधित मुद्दे