بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
اجرا نشدن animation روی همه گوشی ها (حل شد)
<?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);
این روش رو تست نکردم ولی باید کار کنه .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .