1. Shift+F6 全局修改
LZ一般使用這種方式去改全局變量式矫,或者資源名稱。
2. Alt+F7 查看全局引用
LZ一般優(yōu)化時(shí)會使用這個(gè)去查看某個(gè)方法或者變量全局引用
3. Ctrl+Shift+上下鍵 移動代碼
4. 強(qiáng)大的 Alt+Insert
Alt+Insert谐区,這個(gè)快捷鍵異常強(qiáng)大拗胜,里面包含生成get,set掺喻,toString ... 等一系列,愛不釋手~
5. Ctrl+F 局部查找
用這個(gè)找個(gè)方法啥的很6,但是僅限于局部殉挽,也就是本類
6. Ctrl+Alt+V 自動初始化變量 引入變量類型
只適用于基本類型
7. Ctrl+D 向下復(fù)制
還在Ctrl+C,Ctrl+V嘛拓巧?Out了斯碌,騷年~
8. Ctrl+Alt+L 格式化代碼
這個(gè)不得不說,都成為一種習(xí)慣肛度,寫好一部分總是習(xí)慣格式化下代碼
9. Ctrl+Alt+O 去除無效引用(包名)
去除無用引用包以及格式化代碼都成為LZ標(biāo)配了~GGG
10. Ctrl+J 強(qiáng)大的代碼補(bǔ)全
不得不說傻唾,這個(gè)真的666啊~
11. Ctrl+Alt+T 快速生成類似try塊 if塊 while等
這個(gè)LZ一般還是用于生成try塊方便,在項(xiàng)目中針對某些會出現(xiàn)異常的代碼塊都需要添加try塊承耿,防止異常導(dǎo)致崩潰
12. 貫穿全局的Alt+Enter
此子可用于導(dǎo)包冠骄,或者修正某些異常,類似于某些方法需要拋出異臣哟或者添加try塊等
13. Ctrl+N 查找類
不想用鼠標(biāo)凛辣,還想找個(gè)類腫么辦?Ctrl+N來幫你~
14. Ctrl+E 查看瀏覽歷史
15 .Alt+Shift+C 對比本地歷史紀(jì)錄
這個(gè)技能不錯(cuò)职烧,666
16. Ctrl+Shift+Space 自動補(bǔ)全代碼
17. Ctrl+Y 刪除當(dāng)前行
18. F2 或Shift+F2 高亮錯(cuò)誤或警告快速定位
19. Alt+J 多行編輯
想要一次性寫多行么扁誓?想一次性修改多行么?完全不是夢~
關(guān)于常用快捷鍵介紹到此蚀之,以后用到再補(bǔ)充~
Android Studio 強(qiáng)大的代碼補(bǔ)全
在上面已經(jīng)為大家列舉LZ個(gè)人開發(fā)中常用的一些快捷鍵蝗敢,下面簡單說明下強(qiáng)大的代碼補(bǔ)全功能~繼續(xù)感受Android Studio的魅力~
1.騷年,還在手動寫public static final嗎足删?
作為項(xiàng)目中常用也幾乎為必備的東西寿谴,強(qiáng)大的Studio早已看穿一切~當(dāng)然LZ這里沒有全面,大家可以自行挖掘~或者直接使用快捷鍵~
Android Studio 插件
強(qiáng)大的Android Studio背后肯定會有n多插件使其更加優(yōu)秀壹堰,下面將列舉LZ常用的幾種拭卿,具體大家可自行發(fā)掘~
1. GsonFormat json快速生成實(shí)體類
還在為Json編寫實(shí)體類犯愁嗎骡湖?趕快來使用它~
2. ButterKnife Zelezny 一鍵生成注解 簡化代碼
使用這個(gè)需要添加相應(yīng)的依賴,為了省事兒峻厚,LZ直接盜圖了~勿怪
3. Parcelable 序列化
Android中的序列化有兩種方式响蕴,分別是實(shí)現(xiàn)Serializable接口和Parcelable接口,但在Android中是推薦使用Parcelable惠桃,而且這邊過程比較繁瑣浦夷,幸好有這神器~
4. Genymotion 優(yōu)秀的模擬器
不解釋,也不截圖了辜王,不過現(xiàn)在谷歌推出的模擬器使用起來也還不錯(cuò)劈狐,個(gè)人比較支持谷歌更新后的模擬器
LZ目前嘗試用的也就以上幾個(gè),當(dāng)然呐馆,還有很多優(yōu)秀的插件肥缔,附上地址,大家自行瀏覽選擇使用即可~
https://www.zhihu.com/question/28026027
Android 布局優(yōu)化
布局優(yōu)化汹来,這是個(gè)有意思的話題续膳,下面通過不同例子一起來看看吧~
1. TextView實(shí)戰(zhàn)
一、巧用android:drawab系列+Style提高代碼可讀性以及簡潔性
TextView這個(gè)東西收班,想必大家用的都熟透了吧坟岔?今天我們來說說如何更好玩轉(zhuǎn)TextView。
舉一個(gè)很通用的例子摔桦,微信"我"的界面布局
大家注意到"錢包"社付,"收藏","相冊"等布局了么邻耕?
以前鸥咖,我們會這么寫:
... ...
如果點(diǎn)擊項(xiàng)多的話,反而顯得亂兄世,而且多了很多無用的代碼扛或,今天我們來嘗試新的玩法~
... ...
倆者實(shí)現(xiàn)效果如下:
TextView多的話還可以提取Style文件,代碼簡潔易讀碘饼。
二、TextView跑馬燈
附上效果圖:
部分代碼如下:
記得Activity要設(shè)置一個(gè)屬性悲伶,否則無效艾恼。
findViewById(R.id.id_test).setSelected(true);
要想實(shí)現(xiàn)跑馬燈效果,必須滿足一個(gè)條件麸锉,就是TextView內(nèi)容必須超出屏幕钠绍,否則無效!當(dāng)然你可以自定義花沉。
三柳爽、關(guān)于顯示價(jià)格優(yōu)化
效果如下:
按照之前的想法媳握,我們會這么玩:
可有簡單用法,干嘛還多寫一個(gè)TextView磷脯,這不是浪費(fèi)嘛蛾找?瞧著~
string文件中這樣寫:
您需要支付:%1$s
Activity定義方法:
privatevoidsetPayPrice(String payPrice){? ? ? ? tvShow.setText(getString(R.string.string_pay_price, payPrice));? ? ? ? SpannableStringBuilder builder =newSpannableStringBuilder(tvShow.getText().toString());? ? ? ? ForegroundColorSpan colorSpan =newForegroundColorSpan(Color.RED);// 根據(jù)要求自定義顏色值builder.setSpan(colorSpan,4, tvShow.getText().toString().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);? ? ? ? tvShow.setText(builder);? ? }
四、自動鏈接TextView內(nèi)容赵誓,例如網(wǎng)址打毛,電話,e-mail等
效果如下:
代碼部分:
五俩功、巧用LinearLayout幻枉,節(jié)省不必要代碼~
下面為大家附上一個(gè)簡單效果圖,大家首先想想诡蜓,如果是你熬甫,怎么寫?
這里為大家引入另一種寫法蔓罚,也就是小標(biāo)題如何巧用LinearLayout
首先編寫shape文件椿肩,很簡單,設(shè)置高度和顏色脚粟。
其次覆旱,在布局文件中設(shè)置divider以及showDividers屬性即可。
下面簡單介紹下android:showDividers屬性:
android:showDividers="middle|beginning|end":鑒名其意核无,三個(gè)屬性值分別為 中間 開始部分 結(jié)束部分扣唱,也就是在三個(gè)部分顯示分割線。
有個(gè)哥兒們會說了团南,不是還有v7包下LinearLayoutCompat不也能實(shí)現(xiàn)分割線嗎噪沙?
確實(shí),不過我試了下吐根,感覺倆者一樣正歼,這里就不做過分說明了~
六、禁止截屏功能拷橘,間接保護(hù)App
想想實(shí)現(xiàn)禁止應(yīng)用截屏局义,只需要一行代碼,如下:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
防止setContentView后即可冗疮,之后截屏的時(shí)候萄唇,會提示以下內(nèi)容: