文章目录
  1. 1. 代码补全
  2. 2. 选择操作
  3. 3. 初始化变量
  4. 4. 实例检查
  5. 5. 消除警告
  6. 6. 自定义模板
  7. 7. 过滤查找
  8. 8. 批量替换
  9. 9. 批量查找
  10. 10. 设计时属性
  11. 11. 私有资源
  12. 12. 资源压缩

最近看了 Android Dev Summit 2015 的视频(需翻墙),其中的 Android Studio for Experts 讲了Android Studio 的一些高级使用技巧,总结分享给大家。

代码补全

1.使用TAB键进行代码补全,输入first. ,选择提示的方法,直接键入TAB可直接补全代码
tab

2.使用Ctrl+Shift+Space 智能补全,如输入 Bitmap bitmap= 后,使用该组合键智能补全,可以按两次显示更多补全内容。
智能补全
也可以使用 new Bitmap().var 的形式。

选择操作

1.Ctrl+ w 选中,继续操作会扩大选中范围,相反的操作是 Ctrl + Shift + W。可以双击Shift,输入Extent Selection ,快速查看该方法的快捷键
选择操作

2.选中后可以使用 Extra 快捷键重构为变量、方法等,这个可以在 Refactor -> Extra 下看到。
ctrl+ alt+ v:变量
ctrl+ alt+ c:常量
ctrl+ alt+ f:域值
ctrl+ alt+ p:参数
ctrl+ alt+ m:方法

3.光标放在字符串,或者字符里,使用Alt+Enter,可以将字符串和字符互换(字符串转字符需要单个字符串)
字符串转换

初始化变量

1.为类或方法中的参数创建变量值,在类的构造方法或者普通方法里,选择某一参数值,使用Alt+Enter,
选择 Bind constructor parameters to fields,可以选择为类和构造方法设置一个多个属性值。

2.选择create field for parameter xxx 可以为单个参数设置属性值
初始化变量

实例检查

在使用instanceof 的时候,如 parameter instanceof Context,可以选中选中parameter,使用Alt+Enter,
选择 insert 强制转换的声明
实例检查

消除警告

选中warning ,使用Alt+Enter,选择Inline variable,可以快速添加SuppressWarnings注解
消除警告

自定义模板

LiveTemplates,
这个内容极度丰富,可以在 Setting -> Editor -> Live Templates 下查看。比如:

  1. 输入newInstance 然后按TAB键,可以快速获得声明代码段

  2. for系列,包括 fori,foreach,list.for(其中list是数据集合)
    for

    for

    1. log系列,包括logt, logd, logm,在方法外输入 logt,在方法内输入 logd 试试;
      log

    logt
    另外还有 fbc, gone, iter 等等,感兴趣的话可以在 Setting -> Editor -> Live Templates 下查看。

过滤查找

//In Generate Action
//In Popup Menus -vec
//In Refactor This
//In Project View
在上面的界面中可以直接键入字符,进行搜索

filtersearch

注:以下内容编写参考了网上的一篇文章,原文链接

批量替换

比如以下资源文件,现在你想去掉所有的 translation_description ,技巧是使用 双击 shift 或者 ctrl + shift + a 调出搜索框然后搜索并选择 replace structurally ,编辑规则,选择 find,然后就可以十分便捷的批量修改了.

<resources>
    <string name="a_fragment" translation_description="false">Hello blank fragment</string>
    <string name="s_fragment" translation_description="false">Hello blank fragment</string>
    <string name="d_fragment" translation_description="false">Hello blank fragment</string>
    <string name="f_fragment" translation_description="false">Hello blank fragment</string>
</resources>

img

img
另外你还可以把这个加入设置中,由编辑器自动检查,不符合规则的代码就会有warning,alt + enter 组合键进行修改。
img
这个方法对 java 源码同样适用,只需要修改 file type。

批量查找

这个和 Replace Structurally 大同小异,不再赘述,请自行尝试一下吧。

设计时属性

在写好布局文件后,我们可能想要直接看一下 preview 效果,但是不想在编译时还预设这些属性和值,这个时候可以使用 tools 这个强大的工具。首先在布局文件中声明
xmlns:tools="http://schemas.android.com/tools",放在最外层的 layout 即可。

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    ...

使用起来跟 xmlns:android 没有什么差别。

<TextView
    android:id="@+id/tv"
    android:text="Hello World!"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:visibility="visible"
    tools:text="tools"/>

超级有用的 tools:listitem ,比如!

<GridView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:numColumns="4"
    tools:listitem="@android:layout/simple_list_item_2" />

它可以直接让我们 preview GridView的效果!
img

img2

注意到没?ToolBar 和 FAB 哪来的?因为有 tools:showIn这个属性声明在最顶层的 layout,值是 include 了本布局的一个父布局,它使得预览本布局时同时会渲染该父布局。
更多的 tools attributes 可以访问官方文档 Android Tools Project Site: Tools Attributes

私有资源

Android studio 默认 library 的所有 resource 为 public,如果想保护某些 resources 不被外部访问,可以创建 res/values/public.xml,因为 public 是关键词,所以需要用 new file 的方式创建。至少要添加一行,未添加的则视为 private。

<resources>
    <public name="mylib_app_name" type="string"/>
</resources>

参考:Public and Private Resources
另外,如果在 library 的 build.gradle 中添加 resourcePrefix ,则所有资源必须以此 prefix 开头,否则会报错。
android {

buildTypes {
    ...
}

resourcePrefix 'my_prefix_'

}

资源压缩

这一段讲解了一个减少未使用的资源文件的技巧,可以参考官方文档

【声明】本文为原创文章,转载请注明出自Orange’s Blog并保留本文有效链接:Android Studio for Experts(Android Studio 高级技巧) , 转载请保留本声明!

文章目录
  1. 1. 代码补全
  2. 2. 选择操作
  3. 3. 初始化变量
  4. 4. 实例检查
  5. 5. 消除警告
  6. 6. 自定义模板
  7. 7. 过滤查找
  8. 8. 批量替换
  9. 9. 批量查找
  10. 10. 设计时属性
  11. 11. 私有资源
  12. 12. 资源压缩