Android:隨筆——對頁面的View進行截圖
我們在做專案時,往往有一個這樣的需求:就是對檢視的一部分進行截圖然後分享出去
這個功能很簡單還是簡單的看程式碼吧
<android.support.constraint.ConstraintLayout
android:id="@+id/layout_test"
android:layout_width="90dp"
android:layout_height="90dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.3">
<ImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:src="@drawable/icon_image"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="測試截圖"
android:textColor="#2b24c3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"/>
</android.support.constraint.ConstraintLayout>
<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="點選測試"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_test"/>
<ImageView
android:id="@+id/img_show"
android:layout_width="90dp"
android:layout_height="90dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btn_test"
tools:src="@drawable/icon_image"/>
對 Activity 裡面獲取控制元件的程式碼已省略,直接展示業務程式碼
public void onClick(View view) {
//控制元件可以進行快取
mConstraintLayout.setDrawingCacheEnabled(true);
//獲取快取的 Bitmap
Bitmap drawingCache = mConstraintLayout.getDrawingCache();
//對獲取的 Bitmap 進行復制
drawingCache = drawingCache.createBitmap(drawingCache);
//關閉檢視的快取
mConstraintLayout.setDrawingCacheEnabled(false);
if (drawingCache != null) {
mImageView.setImageBitmap(drawingCache);
Toast.makeText(this, "獲取失敗", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "獲取成功", Toast.LENGTH_SHORT).show();
}
}
總結
看到這個功能感覺無從下手,其實也挺簡單的,如果有需求不妨收藏一下,分享給有需求的朋友
相關文章
- Android 普通View截圖 RecyclerView截圖 ScrollView截圖分享AndroidView
- Android截圖和指定View生成截圖分享AndroidView
- android view 的建立解析,攔截view的建立並進行操作(一)AndroidView
- 使用 shutter 對網站進行截圖網站
- Android 合併生成分享圖片(View截圖)AndroidView
- 對html進行截圖並儲存為本地圖片HTML地圖
- Qt學習筆記-使用QScreen對螢幕進行截圖(可全屏,可部分)QT筆記
- java使用phantomjs進行截圖JavaJS
- Android 截圖Android
- 如何在Mac網頁中長截圖?蘋果電腦網頁截圖怎麼截長圖?Mac網頁蘋果
- WPF 透過 SetWindowDisplayAffinity 配置禁止對視窗進行截圖或錄屏
- Python網頁截圖/螢幕截圖/截長圖如何實現?Python網頁
- 使用Easy UI進行頁面的簡單佈局UI
- 『ios』view和tableview的截圖和圖片拼接iOSView
- Android截圖方案Android
- Android下截圖Android
- 網頁截圖工具CutyCapt網頁APT
- Java -- 對List集合進行分頁Java
- 利用PhantomJS進行網頁截圖,完美解決擷取高度的問題JS網頁
- Android進行長圖分享Android
- [android]android命令列截圖Android命令列
- Android 網頁開啟App進入對應頁面Android網頁APP
- Android截圖監聽Android
- Android下截圖-2Android
- Android隨筆01Android
- 網頁截圖工具:WebShot for Mac網頁WebMac
- 使用chromedriver抓取網頁截圖Chrome網頁
- Android 使用WebView載入含有Canvas的頁面截圖處理AndroidWebViewCanvas
- centos7上安裝phantomjs並對頁面截圖CentOSJS
- android QQ截圖 開發Android
- android截圖功能實現Android
- android 截圖程式碼段Android
- android截圖方法總結Android
- PHP如何實現網頁截圖?PHP網頁
- 免費的網頁截圖API網頁API
- 如何對php網站頁面進行修改PHP網站
- 網頁完整的長截圖怎麼截?3步搞定!網頁
- win10筆記本怎麼截圖_筆記本win10截圖教程Win10筆記