在Android平板电脑中支持操作

时间:2014-11-24 08:04:50

标签: android

我试图这样做。当有人在5分钟后没有触摸安卓平板电脑的屏幕时,我想在屏幕上显示一张照片,直到有人触摸屏幕才显示。我怎么能这样做。我开发了一个Android应用程序,我需要在我的应用程序中添加此功能。

1 个答案:

答案 0 :(得分:0)

正确的方法是创建一个仅包含您要显示的图像的独立活动,如下所示:

<?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;
    }

然后覆盖onTouchEvent活动的Image,以便当有人触摸它时,它会运行YOUR_ACTIVITY活动并将x设置为 0

要从YOUR_ACTIVITY活动返回Image,请覆盖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);
    }