Palette取色
Palette可以从图像中提取突出的颜色,可以利用它把色值赋给ActionBar或者其他空间,可以让界面整个色调统一
Palette可以从图像中提取突出的颜色,可以利用它把色值赋给ActionBar或者其他空间,可以让界面整个色调统一
Android中自带一个input工具,使用方法如下
1 | adb shell # 进入系统 |
常见的按键可以在http://developer.android.com/reference/android/view/KeyEvent.html查看
2. 对获得焦点的输入框,输入文本
1 | input text hello # 输入hello文本 |
输入的文本不能带空格,也不能是中文
3. 模拟点击屏幕事件
1 | input tap 100 200 # 在屏幕坐标(100,200)处点击 |
注:坐标是从左上角开始计算的
还可以模拟长按、滑动等
[duration(ms)] (默认设备touchscreen)Instrumentation是Android用来测试的工具,可以监测系统与应用程序之间的交互,可以使用他发送按键或者触屏事件
1 | Instrumentation mInst = new Instrumentation(); |
1 | Instrumentation mInst = new Instrumentation(); |
1 | sendPointerSync("text"); |
注:以上代码都需要权限的支持,需要在AndroidManifast.xml中添加<uses-permission android:name="android.permission.INJECT_EVENTS"/> ,但还有一些复杂的问题,可以参考[这里](http://stackoverflow.com/questions/5383401/android-inject-events-permission/7328055# 7328055)
在Android系统中,有些内部的API提供注入事件的方法。因为是内部API,在不同版本上可能变化比较大。使用如果想在普通App中使用,可能需要通过反射机制来调用。
在Android API 16之前,WindownManager有相应的方法提供注入事件的方法,如下:
1 | IBinder wmbinder = ServiceManager.getService("window"); |
在API 15之后,引入了InputManager,把上面的哪些injectXXXEvent()方法从WindowManager中移除了。使用方法类似:
1 | IBinder imBinder = ServiceManager.getService("input"); |
从API 16开始,InputManager就成了一个公开的类了,可以通过如下方法获得InputManager实例:
1 | InputManager im = (InputManager) getSystemService(Context.INPUT_SERVICE); |
注意,使用injectEvent()需要申明android:name="android.permission.INJECT_EVENTS"权限。
1 | shell@user:/dev/input $ ll |
可以看到有一些输入设备节点,同时也提供了一些shell工具来操作这些设备,例如上面第1节中提到的input命令,另外还有getevent和sendevent工具分别来监听和发送事件。这些方法,都可以通过JNI的方式调用。这里需要注意的时间eventX设备都是input的用户组,要直接使用,需要root设备。
特别的是,这里有一个开源项目android-event-injector,使用JNI方法注入事件。当然设备需要root。

onAttach() 关联Activity时调用
onCreate() 创建Fragment时调用,在这里必须初始化Fragment的基础组件
onCreateView() Fragment要绘制自己的界面时调用,这个方法必须返回Fragment的layout,也可以返回null(表示没有界面)
onActivityCreated() 当Activity对象完成自己的onCreate方法时调用
onStart() Fragment的UI可见时调用
onResume() Fragment的UI可交互时调用
onPause() Fragment 可见但不可交互时调用
onStop() Fragment 完全不可见时调用
onDestroyView() Fragment 移除视图时调用
onDestroy() 清理View资源时调用
onDetach() 失去Activity关联时调用
切换到Fragment(第一次)
屏幕熄灭
屏幕解锁
切换到其他Fragment
切换回本身
回到桌面
回到应用
退出应用
在使用storyboard和xib时,我们经常要用到ScrollView,还有自动布局AutoLayout,但是ScrollView和AutoLayout 结合使用,相对来说有点复杂。根据实践,我说一下我的理解,在故事板或xib中,ScrollView是根据其下面的一个View的大小来确定ContentSize的大小。
对于一个使用Size Class的xib文件,布局上宽度和高度都有三种情况:紧凑(Compact)、任意(Any)、正常(Regular)。14
& &< <> >" "' &apos
ViewPager自带一个setPageTransformer用于设置切换动画,该方法在Api 11,因为其动画使用的是属性动画,所以可以使用nineoldandroids来支持动画效果
property animations文件
Context可能是Android中最常用的元素之一,但也是最容易用错的。
Context对象常见的功能,有传递引用、加载资源、启动Activity、获取系统服务、获取内部文件路径以及创建View,但是Context的功能远不止这些。
打开这个网站http://www.androiddevtools.cn/,网站上基本上有你需要的SDK或者其他全部工具(如果没有请fork一下吧,把你知道添加进去!),具体安装下载请仔细阅读相关说明,正确配置即可。由于资源基本上都在百度云盘,下载速度必然刚刚的。
在Android Studio中打开SDK Manager如下:
在mac上可以直接使用快捷键cmd + ,来打开SDK Manager Setting,Windows下可以在SDK Manager中在菜单栏找到Tools -> Options也能找到下面这个设置界面
设置HTTP Proxy Server: <mirrors.neusoft.edu.cn>
设置HTTP Proxy Port: 80
并且可以强制使用http代替https
VPN,花钱买自由!