GithubHelp home page GithubHelp logo

missmydearbear / screenshottools Goto Github PK

View Code? Open in Web Editor NEW
90.0 4.0 17.0 352 KB

ScreenShotTools是一个Android长截图工具

Home Page: https://github.com/MissMyDearBear/ScreenShotTools

Kotlin 92.73% Java 7.27%
android screenshot kotlin-android

screenshottools's Introduction

写在前面

2017年的时候因项目需要整理了一篇关于长截图的文章。看到很多同学有留言,所以现在决定把它重新梳理一下,做成一个开源的库。

效果图

ScreenShotTools

ScreenShotTools是一个Android长截图工具。目的是轻松搞定常见的View截图功能。 目前功能有:

1. ScrollView的截图
2. RecyclerView的截图
3. WebView的截图
4. View的截图
5. 各截图提供拼接头部和尾部功能

使用方法:

gradle配置
  1. 在最外层的build.gradle中添加maven地址(已传入JCenter,本步骤可以忽略)
allprojects {
    repositories {
       ..
        maven { url 'https://dl.bintray.com/missmydearbear/maven' }
    }
}

  1. app目录下的build.gradle中添加
implementation "com.bear:ScreenShotTools:1.0"
Api
//1.只截传入的View
 fun takeCapture(context: Context, view: View, callBack: IScreenShotCallBack?) 
//2.拼接头部图片
 fun takeCapture(context: Context, view: View, topBitmap: Bitmap?, callBack: IScreenShotCallBack?) 
//3.拼接头部和底部图片
 fun takeCapture(
        context: Context,
        view: View,
        topBitmap: Bitmap?,
        bottomBitmap: Bitmap?,
        callBack: IScreenShotCallBack?
    ) 
//4. 拼接头部和底部图片,且传入图片的宽度
 fun takeCapture(
        context: Context,
        view: View,
        topBitmap: Bitmap?,
        bottomBitmap: Bitmap?,
        width: Int,
        callBack: IScreenShotCallBack?
    ) 

demo

以RecyclerView为例

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_recycler_view)
        tv.setOnClickListener {
            ScreenShotTools.instance.takeCapture(this, recycler_view, object : IScreenShotCallBack {
                override fun onResult(screenBitmap: ScreenBitmap?) {
                    //todo do your things
                }

            })
        }
        loadData()
    }

写在最后

具体使用效果可看本项目demo。欢迎大家提issu。

screenshottools's People

Contributors

missmydearbear avatar

Stargazers

 avatar xj__luo avatar  avatar endless avatar ChanJLee avatar  avatar  avatar huangguoqiang avatar dskeme avatar zjw avatar 龚继闻 avatar  avatar JessonYang avatar Albert_Lee avatar de avatar Aka DHP avatar duodebuyali avatar Htao avatar hyl87 avatar Jan avatar Xad avatar  avatar  avatar  avatar noah avatar xiaohengdd avatar LiaoZhongKai avatar  avatar cc avatar Oliver avatar  avatar IvanYH Wu avatar weibo topic avatar  avatar  avatar mcgrady avatar  avatar 一叶知秋 avatar 王丽君 avatar CharlesCobe avatar xiaomoli avatar Byte Involution avatar  avatar  avatar  avatar  avatar Jack avatar feifei avatar 夜尽天明 avatar Mycroft Wong avatar zktzktzkt avatar 残页 avatar crazyflysheep avatar KevinHu avatar huluhong avatar  avatar 冷小菜 avatar Micro·J avatar Ren  Yu avatar relex avatar itdachao avatar Pengfei Gao avatar eastup avatar  avatar  avatar  avatar  avatar Roc avatar Juzi avatar Rome avatar  avatar JasonZ avatar wlw avatar Pandroid avatar  avatar Alice avatar  avatar  avatar  avatar Zaaach avatar  avatar Sylvester Yao avatar Leon avatar cheny avatar  avatar  avatar MoYu avatar IT_Kiven avatar 东阁堂主 avatar Bimo avatar

Watchers

James Cloos avatar Ren  Yu avatar Kang Lin avatar Pengfei Gao avatar

screenshottools's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.