使用 Scalpel 3D 展示介面佈局

SouthernBox發表於2017-12-13

無意中瞭解到 iOS 開發裡面有一個叫 Reveal 的神器,用於 UI 除錯。要是俺們安卓也能實現類似效果就好了。

Reveal 看上去是這個樣子的:

使用 Scalpel 3D 展示介面佈局

很酷炫有木有!

什麼?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);
複製程式碼

跑一下看看效果:

使用 Scalpel 3D 展示介面佈局

妥妥的。

你問我有什麼用?酷炫啊!

相關文章