文档章节

Android学习笔记-Lesson 7:Doodlz App

勤奋的桑尼
 勤奋的桑尼
发布于 2014/09/28 12:02
字数 396
阅读 12
收藏 0

知识点:

1、 单点触摸事件和多点触摸

2、SensorManager:加速计-检测动作事件

3、Canvas、Paints和Paths

4、 Menus

5、Android 4.4 immersive mode

6、Android 4.4 Printing framework

7、PrintHelper

8、根据android version决定app功能

学习课程:

1、根据不同的版本显示不同的menu:

只需在res下创建特定版本的文件夹即可,譬如针对android version 19的功能与其他版本不同,那么只需在res下多创建一个名字为"menu-v19"的文件夹,再将相关menu配置文件放在其中即可。

2、根据屏幕尺寸设置屏幕的朝向:

int screenSize = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
		
if(screenSize == Configuration.SCREENLAYOUT_SIZE_XLARGE){
	setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else{
	setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

3 、监听“摇一摇”

 // enable listening for accelerometer events
   public void enableAccelerometerListening()
   {
      // get the SensorManager
      SensorManager sensorManager = 
         (SensorManager) getActivity().getSystemService(
            Context.SENSOR_SERVICE);

      // register to listen for accelerometer events
      sensorManager.registerListener(sensorEventListener, 
         sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 
         SensorManager.SENSOR_DELAY_NORMAL);
   }
   // event handler for accelerometer events
   private SensorEventListener sensorEventListener = 
      new SensorEventListener()
      {
         // use accelerometer to determine whether user shook device 
         @Override
         public void onSensorChanged(SensorEvent event)
         {  
            // ensure that other dialogs are not displayed
            if (!dialogOnScreen)
            {
               // get x, y, and z values for the SensorEvent
               float x = event.values[0];
               float y = event.values[1];
               float z = event.values[2];
      
               // save previous acceleration value
               lastAcceleration = currentAcceleration;
      
               // calculate the current acceleration
               currentAcceleration = x * x + y * y + z * z;
      
               // calculate the change in acceleration
               acceleration = currentAcceleration * 
                  (currentAcceleration - lastAcceleration);
      
               // if the acceleration is above a certain threshold
               if (acceleration > ACCELERATION_THRESHOLD)
                  //TODO do something
            } 
         } // end method onSensorChanged
      
         // required method of interface SensorEventListener
         @Override
         public void onAccuracyChanged(Sensor sensor, int accuracy)
         {
         } 
      }; // end anonymous inner class
// disable listening for accelerometer events
   public void disableAccelerometerListening()
   {
      // get the SensorManager
      SensorManager sensorManager = 
         (SensorManager) getActivity().getSystemService(
            Context.SENSOR_SERVICE);

      // stop listening for accelerometer events
      sensorManager.unregisterListener(sensorEventListener, 
         sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));         
   }

4、隐藏和显示system bar

// hide system bars and action bar
   public void hideSystemBars()
   {
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
         setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | 
            View.SYSTEM_UI_FLAG_FULLSCREEN |
            View.SYSTEM_UI_FLAG_IMMERSIVE);
   }

   // show system bars and action bar
   public void showSystemBars()
   {
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
         setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
   }


© 著作权归作者所有

共有 人打赏支持
上一篇: 使用telnet控制AVD
下一篇: 解析Google News
勤奋的桑尼
粉丝 1
博文 32
码字总数 32516
作品 0
徐汇
程序员
私信 提问
Android实战经验之图像处理及特效处理的集锦(总结版)

1 Android学习笔记进阶之在图片上涂鸦(能清屏) 2 Android学习笔记之详细讲解画圆角图片 3 Android学习笔记进阶20之得到图片的缩略图 4 Android学习笔记进阶19之给图片加边框 5 Android学习笔...

xiaosi
2012/03/12
39.3K
25
各位大侠们,根据你们的建议 我稍作修改了一下我的简历 你们看行吗?

我目前所在地是 河南商丘, 工作的目标地是 深圳附近。 我在 性格方面 是一个乐观积极的人,动手能力强,喜欢钻研。我在 能力方面 是一个负责并充满能量的年轻人,不懂就学,不会就问问,问百...

farley-fu
2014/09/05
1K
20
Creating a Fragment

You can think of a fragment as a modular section of an activity, which has its own lifecycle, receives its own input events, and which you can add or remove while the activity i......

海阔天空玩世不恭
2015/12/29
7
0
android ui机制的学习笔记

1,Activity中有一个DecorView; 2,DecorView是在PhoneWindow中; 2-1,PhoneWindow中有DecorView和mContentParent。mContentParent是DecorView或者是DecorView的子视图; 3,Activity的Win......

蚂蚁的世界
2015/06/29
0
0
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

跟我学Spring Cloud(Finchley版)-15-Hystrix监控详解

Hystrix提供了监控Hystrix Command的能力,本节来详细探讨。 监控端点与数据 应用整合Hystrix,同时应用包含spring-boot-starter-actuator 依赖,就会存在一个/actuator/hystrix.stream 端点...

周立_ITMuch
21分钟前
1
0
Android Studio jni开发入门——看我就够了

一、环境配置 主要需要配置的就是NDK(Native Development Kit),现在Android studio很便利,可以一键下载: file → setting → 按截图找到如下路径 → 选择NDK → 确定应用下载 NDK安装 ...

天王盖地虎626
22分钟前
1
0
day26:shell题

1、 判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendor id一行中。 如果其生产商为AuthenticAMD,就显示其为AMD公司; 如果其生产商为GenuineIntel,就显示其为Intel公司; 否则,...

芬野de博客
31分钟前
1
0
iOS开发之CoreMotion框架的应用

iOS开发之CoreMotion框架的应用 我们知道,现在智能手机手机的功能已经越来越强大。小小的手机中集成了众多的传感器配件。通过这些传感器可以获取到手机甚至用户的状态信息。 在iOS5之前,加...

珲少
34分钟前
1
0
python里能不能用中文

现代计算机和编程的起源和推动力量主要源自美国,再加上26个字母很便于表示(算上大小写,6位bit就够了),因此英语一直是编程领域的不二之选。但这就给部分非英语国家的编程学习者带来一些困...

crossin
35分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部