支持在Android平板电脑
问题描述:
我试图做到这一点。当任何人没有在5分钟后在Android平板电脑屏幕上触摸我想在屏幕上带来一张照片,它会显示,直到任何人触摸screen.How我可以做到这一点。我开发了一个Android应用程序,我需要在我的应用程序中添加此功能。支持在Android平板电脑
答
正确的方式做到这一点是要创建一个只包含要显示的图像的独立活动,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/YOUR_IMAGE"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>
然后在任何当前常规运行活动的onCreate
,运行下面的方法:
public class YOUR_ACTIVITY extends Activity {
public static int x = 0; // must be static
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
run_thread();
}
private void run_thread(){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
while(x < 5000){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
x++;
}
//Image.Class is the Activity that contains just the Image
Intent intent = new Intent(getApplicationContext(),
Image.class);
intent.putExtra(EXIT, false);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});
thread.start();
}
然后重写onTouchEvent
该活动与下列:
@Override
public boolean onTouchEvent(MotionEvent event) {
x = 0;
return true;
}
然后重写Image
活性onTouchEvent
使得当有人触摸它,它运行YOUR_ACTIVITY
活性与设置x
到。
从Image
活动返回YOUR_ACTIVITY
,覆盖onTouchEvent
方法在Image
活动如下所示:
@Override
public boolean onTouchEvent(MotionEvent event) {
YOUR_ACTIVITY.x = 0;
Intent intent = new Intent(getApplicationContext(),
YOUR_ACTIVITY.class);
intent.putExtra(EXIT, false);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
我tryed这一点,但它不工作。我创建的其他类它的名字是图像和我onTouchEvent,但它不工作override.Can你写Image类? – 2014-11-24 09:11:40
@Rıdvan你用'setContentView(R.layout.image_layout)给它分配'onCreate()';'? – 2014-11-24 09:16:15
谢谢你的作品,但当它去图像活动我想回来(到你的活动)类我试图再次onTouchEvent(MotionEvent事件)方法和Intent在这个方法,但每次它加载图像活动它不会返回为什么?? – 2014-11-24 09:43:09