Android 显示ImageView阵列5秒
我有一个带有ImageView数组的TableLayout,当我点击menuInflater时,它会出现五秒钟,然后隐藏并开始倒计时Android 显示ImageView阵列5秒,android,android-imageview,Android,Android Imageview,我有一个带有ImageView数组的TableLayout,当我点击menuInflater时,它会出现五秒钟,然后隐藏并开始倒计时 public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()){ case R.id.txt1: handler = new Handler (this);
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()){
case R.id.txt1:
handler = new Handler (this);
Worker w = new Worker (handler);
Thread t = new Thread (w);
t.start();
return true;
protectedint[]imgIds={
R.id.img_1,R.id.img_2,R.id.img_3,R.id.img_4,R.id.img_5,R.id.img_6,
R.id.img_7,R.id.img_8,R.id.img_9,R.id.img_10,R.id.img_11,R.id.img_12,
};
公共类Worker实现了Runnable{
私有处理器h;
公职人员(h)
{
这个,h=h;
}
@凌驾
公开募捐{
for(int i=0;i将帮助您
下面的代码片段将指导您
package com.org.sampleproject;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AnimationDrawable animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.img1), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img2), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img3), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img4), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img5), 1000); //1 Sec
animation.setOneShot(true);
final ImageView imageAnim = (ImageView) findViewById(R.id.image);
imageAnim.setBackgroundDrawable(animation);
animation.start();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
imageAnim.setVisibility(View.INVISIBLE);
//Perform Your Task Here
}
}, animation.getNumberOfFrames() * 1000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
也许您可以使用倒计时:
但是如何创建?我需要创建一个新类或在同一个类中创建一个新类?不需要创建新类。你可以在同一个类中使用。查找倒计时计时器教程。你可以获得更多的教程和很好的示例。哦,很好,但我必须在菜单充气器中单击时显示图像。Ej:“开始”然后显示图像5秒钟好的,我要这样做。有没有任何选项可以调用该方法?因为太长了。问题是,在这段代码中,我显示1个图像,需要显示所有图像5秒钟
package com.org.sampleproject;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AnimationDrawable animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.img1), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img2), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img3), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img4), 1000); //1 Sec
animation.addFrame(getResources().getDrawable(R.drawable.img5), 1000); //1 Sec
animation.setOneShot(true);
final ImageView imageAnim = (ImageView) findViewById(R.id.image);
imageAnim.setBackgroundDrawable(animation);
animation.start();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
imageAnim.setVisibility(View.INVISIBLE);
//Perform Your Task Here
}
}, animation.getNumberOfFrames() * 1000);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
protected int [] imgIds = {
R.drawable.img_1,R.drawable.img_2,...
};
new CountDownTimer(12000, 1000) {
public void onTick(long millisUntilFinished) {
img.setImageResource(R.drawable.my_image);
}