آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اجرا نشدن animation روی همه گوشی ها (حل شد)

javac  11 سال پیش  11 سال پیش
+2 0

 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate 
    android:fromYDelta="100%p"
    android:toYDelta="0%p"
    android:duration="1500" 
    android:interpolator="@android:anim/bounce_interpolator"/> 

</set>

این کد انیمیشنی هست که برای یک تصویر روی splash screen در نظر گرفتم.

 جواب نداد:

Galaxy note 2 - Galaxy s2 - Samsung Nexus s

به درستی نمایش داده شد:

LG G Flex - LG G2 - Genymotion 


ویرایش:

مختصات رو به صورت زیر تغییر دادم حل شد!!

 <set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate 
    android:fromYDelta="400"
    android:toYDelta="0%p"
    android:duration="1500" 
    android:interpolator="@android:anim/bounce_interpolator"/> 

</set>



 

+4 0
اگه برای تعویض خود صفحه استفاده میکنی احتمالا به خاطر اینه که رو اون گوشی انیمیشن ها غیرفعالن! اما اگه روی اجزای صفحه داری اجراش میکنی منم دوست دارم بدونم چرا اجرا نمیشه!! (11 سال پیش)
0 0
به این صورت که یک تصویر کوچیک وجود داره و من این انیمیشن رو روش set کردم. وقتی برنامه اجرا میشه باید از بیرون صفحه وارد بشه . (11 سال پیش)
0 0
اگه اینجوره که به تنظیمات انیمیشن گوشی ربطی نداره و باید اجرا بشه. نمیدونم والا! (11 سال پیش)
+1 0
عجیبه! لااقل فکر می کردم این یکی تو همه گوشی ها یه جوره! نوع گوشی ها را هم ذکر می کنید تا آمار دستمون باشه؟ نسخه اندرویدشون و یا اینکه چینی هستند و ... (11 سال پیش)
0 0
چیز عجیب اینه که من از یه سری انیمیشن داخل برنامه هم استفاده کردم مثلا وقتی روی یه دکمه کلیک میشه یه چرخی میزنه که کاملا درست روی همه گوشی ها اجرا میشه اما این انیمیشن که برای صفحه اسپلش اسکرین در نظر گرفتم کار نمیکنه !! (11 سال پیش)
+1 0
میتونی به جای این که splash screen درست کنی، یه اکتیویتی ایجاد کنی و انیمیشن رو توی oncreate اکتیویتی start کنی و توی onAnimationEnd ، به اکتیویتی مورد نظر بری. (11 سال پیش)
0 0
حمید عزیز، روش شما هم جواب نداد!! چون انیمیشن اصلا اجرا نمیشه صفحه همینطور ثابت میمونه و اصلا دیگه به اکتیویتی بعدی هم نمیره!! (11 سال پیش)
+1 0
با تغییر در مختصات مشکل حل شد (11 سال پیش)
0 0
عجیب! یعنی مختصاتش اینقدر مهم بود! یه بار قبلا که داشتم یه اینجوری درست میکردم خیلی با مختصات کاری نداشت و حتی من بزرگتر از صفحه مختصات رو میدادم که کاملا از بیرون صفحه بیاد تو! پس احتمالا اون طرح من هم با گوشی های دیگه مشکل پیدا میکنه. ممنون که اطلاع دادی :) (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
SaLaH KuRD  11 سال پیش
0 0

سلام شما باید یه اکتیویتی برای Splash بسازید توی پروژتون مثلا ما در اینجا اسمش رو میذاریم SplashActivity دقت کنید که در Manifest به صورت Launcher تعریفش کنید مثل زیر :

 <activity
android:name=".SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

و بعد از تعریف کردم اون توی Manifest انیمیشن Translate رو به اکتیویتی اضافه می کنیم :


import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;


public class SplashActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

LinearLayout layout = (LinearLayout) findViewById(R.id.layout);

Animation animation = AnimationUtils.loadAnimation(this, R.anim.myanim);

layout.setAnimation(animation);


}
}

و بهش میگیم که مثلا بعد از 10 ثانیه ( زمان تمام شدن انیمیشن رو حساب کنید و اون رو قرار بدید) به اکتیویتی دیگه ای بره :

finalHandler handler =newHandler();
handler.postDelayed(newRunnable(){
@Override
publicvoid run(){
برو به اکتیویتی دیگه
}
},5000);

این روش رو تست نکردم ولی باید کار کنه .

0 0
:|| ممنون از پاسختون اما فکر میکنم سوال رو درست نخوندید! ساخت اسپلش اسکرین رو که از دوران طفولیت:)) بلد بودم (11 سال پیش)
+1 0
سوالتون زیاد واضح نیست :| الان شما دقیقا کجا مشکل دارید :| (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .