PopupWindow用法
1 | PopupWindow mPop = new PopupWindow(getLayoutInflater().inflate(R.layout.window,null),LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); |
1 | PopupWindow mPop = new PopupWindow(getLayoutInflater().inflate(R.layout.window,null),LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); |
在Objective-C中,nil是一个指针不存在的对象。
Swift中,nil是一个空值,不单单指指针,任何可选变量都可以被设为nil,且不能用于非可选类型。
1 | var num : Int ? = 4 //可选类型,要么为nil要么为4 |
Activity.runOnUiThread()是Handlers的特殊情况,使用Handlers可以在自己的线程里创建事件查询。
宽×高,Android常见的分辨率有480×800、720×1280、1080×1920等
因为手机的像素密度千奇百怪,在屏幕适配的时候必须按一定规则分类,于是有了密度分级,每部Android手机都有一个初始的固定密度,120、160、320、480……通常情况240×320的屏幕是低密度120dpi即ldpi,320×480为中密度160dpi即mdpi,480*800为高密度240dpi即hdpi,720×1280为超高密度320dpi即xhpi,1080×1920为超超高密度480dpi即xxhdpi
dp也成为dip即density-independent pixel,为了实现在不同分辨率的屏幕上显示“看上去”一样大小需要使用dp来指定尺寸。
文字尺寸一般使用sp即scale-independentpixel,这样字体的大小就会随着系统设置调节字号的大小而改变
像素密度为160dpi的中密度手机屏幕为基准屏幕,即320×480的屏幕,此时1dp=1px
像素密度为240dpi的高密度屏幕,即480×800的屏幕,为了显示一张在320×480屏幕“看上去”一样大小的尺寸,需要把尺寸放大1.5倍,此时1dp=1.5px
一次类推dp在不同像素密度下的比例为:ldpi:mdpi:xhdpi:xxhdpi=3:4:6:8:12,间隔数字之间是2的倍数
当Android系统字号设为“普通”时,sp与px的尺寸换算和dp与px一样
目前市面上普遍的机型为720×1280即xhdpi,此时1dp=2px,图片资源放在drawable-xhdpi文件夹中

HTTPConnection.getresponse()来创建1 | headers = {"Content-type": "application/x-www-form-urlencoded" |
Ctrl + o快速跳转可以搜索(显示大纲)Ctrl + 上下键移动行Ctrl + shift + r搜索文件Ctrl + m最大化编辑窗口Ctrl + shift + o导入包Ctrl + 1快速修复Ctrl + pageup/pagedown选项卡切换Ctrl + W关闭当前编辑框Ctrl + d删除行Ctrl + shift + F4关闭所有编辑框Ctrl + shift + X选中文本全部大写Ctrl + shift + Y选中文本全部小写Ctrl + shift + F格式化当前代码Shift + Enter插入空行Ctrl + shift + T查找Java类文件Ctrl + shift + G查找引用Ctrl + K高亮代码Alt + shift + R重命名
在Android Frameworks/base/core/res/res/values目录下
themes.xmlthemes_device_defaults.xmlstyles.xmlstyles_device_defaults.xmltheme.xml定义了Android低版本的theme和Holo theme,themes_device_defaults.xml定义了DeviceDefault主题(继承自Holo主题)
系统如何选择默认主题呢?
1 | /**frameworks/base/core/java/android/content/res/Resources.java*/ |
当<11时使用低版本主题,>=11&&<14时使用Holo主题,>14时,使用DeviceDefault主题
系统默认大的主题是三种:Theme,Theme.Holo,Theme.DeviceDefault, 但是实际上在此基础系统还定义了大量的派生主题,最典型的是对应的Light主题。
1 | <item name="colorForeground">@android:color/bright_foreground_dark</item> |
1 | <item name="textAppearance">@android:style/TextAppearance</item> |
1 | <item name="buttonStyle">@android:style/Widget.Button</item> |
1 | <item name="listPreferredItemHeight">64dip</item> |
1 | <item name="windowBackground">@android:drawable/screen_background_selector_dark</item> |
1 | <item name="dialogTheme">@android:style/Theme.Dialog</item> |
1 | <item name="alertDialogTheme">@android:style/Theme.Dialog.Alert</item> |
1 | <item name="panelBackground">@android:drawable/menu_background</item> |
1 | <item name="scrollbarFadeDuration">250</item> |
1 | <item name="textSelectHandleLeft">@android:drawable/text_select_handle_left</item> |

Material Theme的定义如下
1 | <resources> |