自己有一个linearlayout,里面放置的是按纽.我如何做到3秒该linearlayout自动隐藏 handler 或者 asynctask都可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 timertask或handler的postdelay方法实现计时器,然后如果超过3秒就设置linearlayout的setVisble为gone就消失了 private Timer timer = null; private TimerTask task = null; private Handler handler = null; private Message msg = null; private LinearLayout layout;... /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = new LinearLayout(this); // Handle timer message handler = new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub switch(msg.what) { case 1: Log.i("SmsTest", "timer 3s out."); layout.setVisibility(View.GONE); //layout.invalidate(); break; default: break; } super.handleMessage(msg); } }; task = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub if (null == msg) { msg = new Message(); } else { msg = Message.obtain(); } msg.what = 1; handler.sendMessage(msg); } }; timer = new Timer(true); timer.schedule(task, 3000); // set timer duration我这样做的,但是不起作用,三秒钟到时进入了handleMessage的case 1,但是画面没有隐藏。不知道为什么 final int FADE_TIME = 3000;Handler mHandler = new Handler();LinearLayout layout = (LinearLayout) findViewByID(xxxx)Runnable mRunnable = new Runnable() { public void run() { layout.setVisibility(View.INVISIBLE); } };mHandler.postDelayed(mRunnable, FADE_TIME); 是这样的,我要的是,我现在是全屏幕显示,当我点击屏幕的时候,该linearlayout显示出来,如果我一直不操作,linearlayout才隐藏,如果我操作或者点击屏幕,该linearlayou就不隐藏了.用你们的方法还不能实现,我感觉需要做一个boolean,如果有操作,该计时器为0,重新开始计算.但是由于我能力问题,还是没有解决.求帮助 gone 把你代码贴出来 机制没错,由于你是点全屏幕的任何一点,建议用OnKeyEvent类的监听比如KeyDown,KeyUp类的方法 关于屏幕显示方向问题 求助关于移动设备充电时开启Activity android 如何实现n平方个textview显示 android真机获取经纬度 怎么为每个应用程序图标设置不同的背景图? 【转发】2011 APP年终总结——日均160元的收入经历 java 是解释型的语言吧? gallery滑动图片多次重叠 android蓝牙3.0方面的 请求学习通过手机mac地址匹配11位手机号码技术 Android动画播放请教 apk反编译jar问题
private Timer timer = null;
private TimerTask task = null;
private Handler handler = null;
private Message msg = null;
private LinearLayout layout;... /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
layout = new LinearLayout(this);
// Handle timer message
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
switch(msg.what) {
case 1:
Log.i("SmsTest", "timer 3s out.");
layout.setVisibility(View.GONE);
//layout.invalidate();
break;
default:
break;
}
super.handleMessage(msg);
}
};
task = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
if (null == msg) {
msg = new Message();
} else {
msg = Message.obtain();
}
msg.what = 1;
handler.sendMessage(msg);
}
};
timer = new Timer(true);
timer.schedule(task, 3000); // set timer duration我这样做的,但是不起作用,三秒钟到时进入了handleMessage的case 1,但是画面没有隐藏。
不知道为什么
Handler mHandler = new Handler();
LinearLayout layout = (LinearLayout) findViewByID(xxxx)
Runnable mRunnable = new Runnable() {
public void run() {
layout.setVisibility(View.INVISIBLE);
}
};
mHandler.postDelayed(mRunnable, FADE_TIME);
比如KeyDown,KeyUp类的方法