Android 如何禁用/阻止onClickListener几秒钟?
我制作了一个漂亮的闪屏,我想阻止onclicklistener几秒钟,因为我没有多少动画等,我想让用户看到这一切 我有:Android 如何禁用/阻止onClickListener几秒钟?,android,android-layout,Android,Android Layout,我制作了一个漂亮的闪屏,我想阻止onclicklistener几秒钟,因为我没有多少动画等,我想让用户看到这一切 我有: ostatni.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { starttap.start(); Intent i = new I
ostatni.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
starttap.start();
Intent i = new Intent(Start.this,ActivityMainWallet.class);
startActivity(i);
}
});
ostatni.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
starttap.start();
ostatni.setEnabled(false);
}
});
wlot.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
Intent i = new Intent(Start.this,ActivityMainWallet.class);
startActivity(i);
ostatni.setEnabled(true);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
编辑
我有:
ostatni.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
starttap.start();
Intent i = new Intent(Start.this,ActivityMainWallet.class);
startActivity(i);
}
});
ostatni.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
starttap.start();
ostatni.setEnabled(false);
}
});
wlot.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
Intent i = new Intent(Start.this,ActivityMainWallet.class);
startActivity(i);
ostatni.setEnabled(true);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
但它不起作用。请帮帮我,谢谢 您可以暂停它正在运行的线程,即主线程(UI线程):
Thread.sleep(4000);//将线程冻结4秒钟
来源:您可以暂停它正在运行的线程,即主线程(UI线程):
Thread.sleep(4000);//将线程冻结4秒钟
资料来源:SystemClock.sleep(2000)
会更好
休眠2ms,此方法不会阻塞线程。SystemClock.sleep(2000)
会更好
睡眠2ms,此方法将不会阻止线程。您也可以使用android动画utils来执行此操作
final Animation an = AnimationUtils.loadAnimation(getBaseContext(), R.anim.abc_fade_in);
<your imageviews or any other view>.startAnimation(an);
an.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
//start your main activity
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
final Animation an=AnimationUtils.loadAnimation(getBaseContext(),R.anim.abc\u淡入);
.startAnimation(一家公司);
.setAnimationListener(新的Animation.AnimationListener(){
@凌驾
onAnimationStart上的公共无效(动画){
}
@凌驾
onAnimationEnd上的公共无效(动画){
//开始你的主要活动
}
@凌驾
onAnimationRepeat上的公共无效(动画){
}
});
您也可以使用android动画utils来完成此操作
final Animation an = AnimationUtils.loadAnimation(getBaseContext(), R.anim.abc_fade_in);
<your imageviews or any other view>.startAnimation(an);
an.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
//start your main activity
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
final Animation an=AnimationUtils.loadAnimation(getBaseContext(),R.anim.abc\u淡入);
.startAnimation(一家公司);
.setAnimationListener(新的Animation.AnimationListener(){
@凌驾
onAnimationStart上的公共无效(动画){
}
@凌驾
onAnimationEnd上的公共无效(动画){
//开始你的主要活动
}
@凌驾
onAnimationRepeat上的公共无效(动画){
}
});
是否添加此项
public onCreate(....)
{
......
......
ostatni.setOnClickListener(........);
ostatni.setEnabled(false);
}
@Override
public void onAnimationEnd(Animation animation) {
ostatni.setEnabled(true);
}
加上这个
public onCreate(....)
{
......
......
ostatni.setOnClickListener(........);
ostatni.setEnabled(false);
}
@Override
public void onAnimationEnd(Animation animation) {
ostatni.setEnabled(true);
}
当动画完成时,您应该在
onClick
方法中设置onclicklistener,您可以执行ostatni.setOnClickListener(null)
,然后在动画完成时再次设置它。当动画完成时,您应该在onClick
方法中设置onclicklistener,您可以执行ostatni.setOnClickListener(null)
,然后在动画完成后再次设置。@dawidurusek将您的setEnabled(false)放在onClickListener之外,否则在未单击button@dawidurusek将setEnabled(false)放在onClickListener外部,否则在未单击按钮时无法禁用它