無意中瞭解到 iOS 開發裡面有一個叫 Reveal 的神器,用於 UI 除錯。要是俺們安卓也能實現類似效果就好了。
Reveal 看上去是這個樣子的:
很酷炫有木有!
什麼?Jake Wharton 大神早在幾年前就給我們準備了類似的開源庫了!
今天要介紹的就是大神的 Scalpel,可以實現在手機上 3D 展示屆滿布局,而且用起來超級簡單!
在 Gradle 中引入 Scalpel:
compile 'com.jakewharton.scalpel:scalpel:1.1.2'
複製程式碼
然後我們來到需要展示效果的佈局檔案,將它的根佈局修改為 ScalpelFrameLayout,看名字也能猜到它是繼承 FrameLayout 的。(要是去看原始碼你會發現,其實整個庫只有 ScalpelFrameLayout 這一個檔案,四百多行程式碼,膜拜大神!)
然後在程式碼裡面將 setContentView 修改成以下程式碼:
View mainView = getLayoutInflater().inflate(R.layout.activity_main, null);
ScalpelFrameLayout mScalpelFrameLayout = new ScalpelFrameLayout(this);
mScalpelFrameLayout.addView(mainView);
mScalpelFrameLayout.setLayerInteractionEnabled(true); //開啟 3D 效果
//mScalpelFrameLayout.setDrawIds(true); //是否顯示控制元件 id
//mScalpelFrameLayout.setDrawViews(false); //是否展示控制元件內容,預設為 true
//mScalpelFrameLayout.setChromeColor(Color.RED); //修改邊框顏色
//mScalpelFrameLayout.setChromeShadowColor(Color.YELLOW); //修改陰影顏色
setContentView(mScalpelFrameLayout);
複製程式碼
跑一下看看效果:
妥妥的。
你問我有什麼用?酷炫啊!