ورود

View Full Version : انیمیشن



pouya1999best@g
پنج شنبه 05 تیر 1393, 01:02 صبح
سلام دوستان؛
همگی شما با Office Suite آشنایی دارید.
توی صفحه Splash این برنامه،ابتدا آیکون برنامه به زیبایی نمایش داده میشه و بعد اون در پایین صفحه،یک Text View حاوی نام شرکت و... با انیمیشن زیبایی نمایش داده میشه.
اگه دوستی کد انیمیشن اون Text View رو داره قرار بده.
با تشکر:لبخندساده:

pouya1999best@g
جمعه 06 تیر 1393, 15:03 عصر
خواهشا کمک کنید دوستان

SASAN_AH
جمعه 06 تیر 1393, 15:42 عصر
اینو ببین مشکلت حل میشه

(http://stackoverflow.com/questions/11503830/androidhow-to-move-marquee-text-from-right-to-left-and-left-and-right-by-clicki)

pouya1999best@g
جمعه 06 تیر 1393, 15:57 عصر
دوست عزیز
انیمیشنش که این نبود
حالتش این بود که انگار Text Viewنوشته میشد

SASAN_AH
جمعه 06 تیر 1393, 16:00 عصر
دوست من شما دقیق بخونید و عمل کنید فقط

poorman
جمعه 06 تیر 1393, 16:15 عصر
من انیمیشنش رو ندیدم

اگه میشه یک تصویر متحرک ازش بذارید تا اگر تونستم راهنمایی تون کنم

pouya1999best@g
جمعه 06 تیر 1393, 16:49 عصر
دوست من شما دقیق بخونید و عمل کنید فقط

بیزحمت خودت کدش رو بزار:لبخندساده:

SASAN_AH
جمعه 06 تیر 1393, 17:41 عصر
بفرمایید
ولی خوتون تلاش کنید نتیجه را درک میکنید



activity_main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/textViewMarqToLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

<TextView
android:id="@+id/textViewMarqToRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>


, MainActivity.java


\\ این انیمیش متن برای سمت چپ
Animation animationToLeft = new TranslateAnimation(400, 0, 0, 0);
animationToLeft.setDuration(12000);
animationToLeft.setRepeatMode(Animation.RESTART);
animationToLeft.setRepeatCount(Animation.INFINITE) ;

\\ این انیمیشن متن برای سمت راست
Animation animationToRight = new TranslateAnimation(0,400, 0, 0);
animationToRight.setDuration(12000);
animationToRight.setRepeatMode(Animation.RESTART);
animationToRight.setRepeatCount(Animation.INFINITE );


\\ تعاریف ایدی های متن ها
TextView textViewMarqToLeft = (TextView) findViewById(R.id.textViewMarqToLeft);
TextView textViewMarqToRight = (TextView) findViewById(R.id.textViewMarqToRight);

\\ اینم ست کردن انیمیشن به متن ها
textViewMarqToLeft.setAnimation(animationToLeft);
textViewMarqToRight.setAnimation(animationToRight) ;

pouya1999best@g
جمعه 06 تیر 1393, 17:52 عصر
120536
اینو میخوام

poorman
جمعه 06 تیر 1393, 18:38 عصر
من فک نمیکنم این عکس متحرک باشه !!!

الان چطوری باید انیمیشنش رو ببینم ؟

pouya1999best@g
جمعه 06 تیر 1393, 20:06 عصر
نمیتونم متحرک بگیرم
خودتون نصبش کنید

poorman
جمعه 06 تیر 1393, 20:19 عصر
من 35 مگابایت دانلود کنم یعنی ؟؟؟ :لبخند:

یک نرم افزار هست به اسم gifCam با حجم 1.5 مگابایت، راحت میتونید از صفحه نمایشتون عکس متحرک بسازید

pouya1999best@g
جمعه 06 تیر 1393, 20:36 عصر
میشه لینک شو بدی؟؟؟

poorman
جمعه 06 تیر 1393, 20:57 عصر
بفرمایید

http://dl2.soft98.ir/soft/GifCam.3.5.exe

pouya1999best@g
جمعه 06 تیر 1393, 21:21 عصر
120545


اینه
البته چون توی امولاتوره کنده

pouya1999best@g
جمعه 06 تیر 1393, 22:23 عصر
کدشو بدید دیگه

poorman
جمعه 06 تیر 1393, 23:01 عصر
کدشو بدید دیگه

چشم چشم :افسرده: چرا میزنی خب !!!

اول یه چیزی، یک دکمه زیر هر پست هست به اسم تشکر کردن، چرا تا حالا ازش استفاده نکردی شما ؟ :لبخند:

جواب رو توی این تاپیک گذاشتم تا همه استفاده کنن

http://barnamenevis.org/showthread.php?447908-%D8%A7%DB%8C%D9%86-%D9%87%D9%85-%DA%A9%D8%AF&p=2050166&viewfull=1#post2050166

pouya1999best@g
جمعه 06 تیر 1393, 23:26 عصر
package com.example.test;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv =(TextView)findViewById(R.id.textView1);
setContentView(R.layout.activity_main);
String matn = "اینجا متن مورد نظر رو قرار بدید";
int cnt = 0;
private Handler handler = new Handler();
private Runnable removeTxtPoint = new Runnable() {
@Override
public void run() {
if(cnt <= matn.length()){
tv.setText(matn.substring(0, cnt));
cnt++;
}else{
handler.removeCallbacks(removeTxtPoint);
}
handler.postDelayed(this, 5);}};}

درسته؟؟؟
int cnt = 0; خطا میده
میگه باید { بزاری
وقتی { میزارم از کل کد ها خطا میگیره

pouya1999best@g
جمعه 06 تیر 1393, 23:35 عصر
میشه سورس بدی؟؟؟
واسه من خطا میده

poorman
جمعه 06 تیر 1393, 23:38 عصر
نه درست نیست !!!

یعنی قرار نیست قبلش تکست ویو رو تعریف کنی شما ؟؟؟

قشنگ دقت کنید، شما باید قبل متد onCreate تکست ویو رو تعریف کنید به صورت عمومی، بعدش داخل متد onCreate تکست ویو رو با آیدی مشخص کنید

حالا بیرون از تابع onCreate این کدی رو که دادم بنویسید

بعدش برای اینکه این کدی که دادم اجرا بشه باید اون خط آخر رو یعنی ( removeTxtPoint.run() ) رو توی تابعonStart() اکتیویتی بنویسید

دقت کنید تابع onStart

میتونین توی onCreate هم بنویسید، اما انیمیشن زود شروع میشه و به درد نمیخوره

poorman
جمعه 06 تیر 1393, 23:44 عصر
اینم کد اکتیویتی :|

public class MainActivity extends Activity {

TextView txt;


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

txt = (TextView) findViewById(R.id.textView1);

}


@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();

new Handler().postDelayed(new Thread(){
@Override
public void run() { super.run();

removeTxtPoint.run();

}}, 500);
}

String matn = "متن مورد نظرتون";
int cnt = 0;
private Handler handler = new Handler();

private Runnable removeTxtPoint = new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
if(cnt <= matn.length()){
txt.setText(matn.substring(0, cnt));
cnt++;
}else{
handler.removeCallbacks(removeTxtPoint);
}
handler.postDelayed(this, 5);
}
};

}