Android仿微信單擊拍照長按錄像功能實(shí)例代碼
此文章是看郭神公眾號發(fā)的一篇,僅作學(xué)習(xí)。
在modlue gradle中添加
compile 'cjt.library.wheel:camera:0.0.7'
在project gradle中添加
compile 'cjt.library.wheel:camera:0.0.7'
添加的地方是
allprojects {
repositories {
jcenter()
/*在此處添加*/
}
}
使用起來很方便,只需在xml布局中
<com.cjt2325.cameralibrary.JCameraView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/camera" app:iconMargin="0dp" app:iconWidth="0dp" app:iconSrc="@drawable/ic_camera_enhance_black_24dp"/>
特別注意:
app:iconMargin="0dp" app:iconWidth="0dp" app:iconSrc="@drawable/ic_camera_enhance_black_24dp"
這三個屬性是頁面切換前后攝像頭的,不過里面有bug,當(dāng)時在網(wǎng)上找了找,發(fā)現(xiàn)了一個大坑,在源碼394行里有一句代碼是
mediaRecorder.setVideoSize(width, height);
因?yàn)榍爸脭z像頭和后置攝像頭的像素不同,因此此方法中的width和height不能為定值,有需要的可以自己研究下,所以暫時讓這個按鈕長寬都是0dp,也就不讓顯示。
然后再看看Activity中的寫法。
View decorView = getWindow().getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
camera = (JCameraView) findViewById(R.id.camera);
camera.setSaveVideoPath(Environment.getExternalStorageDirectory().getPath());
camera.setCameraViewListener(new JCameraView.CameraViewListener() {
@Override
public void quit() {
Log.e("MainActivity:","您點(diǎn)擊了關(guān)閉按鈕");
MainActivity.this.finish();
}
@Override
public void captureSuccess(Bitmap bitmap) {
Log.e("MainActivity:","拍照成功");
}
@Override
public void recordSuccess(String url) {
Log.e("MainActivity:","錄像成功");
}
});
寫到這里運(yùn)行代碼,發(fā)現(xiàn)啟動后攝像頭默認(rèn)沒有啟動,因?yàn)檫€差一些東西。
@Override
protected void onResume() {
super.onResume();
camera.onResume();
}
@Override
protected void onPause() {
super.onPause();
camera.onPause();
}
至此就ok了。
------------------------------------------------------------------------------------------------------------------
項(xiàng)目地址
https://github.com/CJT2325/CameraView
以上所述是小編給大家介紹的Android仿微信單擊拍照長按錄像功能實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的,在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android雙擊返回鍵退出程序的實(shí)現(xiàn)方法
- Android中讓按鈕擁有返回鍵功能的方法及重寫返回鍵功能
- Android返回鍵功能的實(shí)現(xiàn)方法
- Android 再按一次返回鍵退出程序?qū)崿F(xiàn)思路
- Android實(shí)現(xiàn)點(diǎn)擊兩次返回鍵退出
- Android實(shí)現(xiàn)長按圖片保存至相冊功能
- 安卓(Android) 監(jiān)聽按鍵長按事件
- Android實(shí)現(xiàn)長按back鍵退出應(yīng)用程序的方法
- Android 自定義按鈕點(diǎn)擊事件和長按事件對比
- Android仿QQ長按刪除彈出框功能示例
- Android開發(fā)實(shí)現(xiàn)長按返回鍵彈出關(guān)機(jī)框功能
相關(guān)文章
Android Studio創(chuàng)建AIDL文件并實(shí)現(xiàn)進(jìn)程間通訊實(shí)例
本篇文章主要介紹了Android Studio創(chuàng)建AIDL文件并實(shí)現(xiàn)進(jìn)程間通訊實(shí)例,具有一定的參考價值,有興趣可以了解一下。2017-04-04
Kotlin新手基礎(chǔ)學(xué)習(xí)之Elvis操作符
Kotlin 是一種在 Java 虛擬機(jī)上運(yùn)行的靜態(tài)類型編程語言,被稱之為 Android 世界的Swift,由 JetBrains 設(shè)計開發(fā)并開源,下面這篇文章主要給大家介紹了關(guān)于Kotlin新手基礎(chǔ)學(xué)習(xí)之Elvis操作符的相關(guān)資料,需要的朋友可以參考下。2017-12-12
詳解Android如何實(shí)現(xiàn)自定義的動畫曲線
最近在寫動畫相關(guān)的篇章,經(jīng)常會用到 Curve 這個動畫曲線類,那這個類到底怎么實(shí)現(xiàn)的?如果想自己來一個自定義的動畫曲線該怎么弄?本文將為大家詳細(xì)解答2022-04-04
Android開發(fā)之TabHost選項(xiàng)卡及相關(guān)疑難解決方法
這篇文章主要介紹了Android開發(fā)之TabHost選項(xiàng)卡及相關(guān)疑難解決方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android開發(fā)中TabHost選項(xiàng)卡的常見用法以及相關(guān)疑難問題解決方法,需要的朋友可以參考下2019-03-03
Android自定義View實(shí)現(xiàn)球形動態(tài)加速球
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)球形動態(tài)加速球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
Android實(shí)現(xiàn)調(diào)用攝像頭拍照并存儲照片
本文主要介紹了如何利用Android調(diào)用攝像頭拍照,并顯示拍照后的圖片到ImageView中,文中的示例代碼講解詳細(xì),感興趣的可以動手試一試2022-01-01
android使用Rxjava實(shí)現(xiàn)倒計時功能
這篇文章主要為大家詳細(xì)介紹了android使用Rxjava實(shí)現(xiàn)倒計時功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
Android WebView調(diào)用本地相冊的方法
這篇文章主要為大家詳細(xì)介紹了Android WebView調(diào)用本地相冊的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12
Android style的繼承方式 點(diǎn)(.)和parent詳解及實(shí)例
這篇文章主要介紹了Android style的繼承方式 點(diǎn)(.)和parent詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02

