Android快速實現(xiàn)無預覽拍照功能
本文實例為大家分享了Android實現(xiàn)無預覽拍照功能的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)思路:
把預覽的SurfaceView的寬高設置為肉眼看不出的值,例如0.1dp,其他的就是自定義相機的標準步驟了!
當然,網(wǎng)上自定義相機的文章多的去了,我是不可能再做老生常談的事的,在這里我推薦一個很好用的第三方庫,也許很多人已經(jīng)了解過并且用過,沒用過的同學可以試試,親測好用。
廢話不多說,先上源碼地址
這里簡單介紹一下用法:
1、在gradle里添加庫的依賴:compile 'com.wonderkiln:camerakit:0.13.1'
2、布局文件代碼:
<LinearLayout android:id="@+id/ll_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <Button android:id="@+id/btn_test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="測試" android:layout_gravity="center_horizontal"/> <com.wonderkiln.camerakit.CameraView android:id="@+id/camera" android:layout_width="0.1dp" android:layout_height="0.1dp" android:adjustViewBounds="true" camerakit:ckFacing="front" /> </LinearLayout>
camerakit:ckFacing="front" 表示用前置攝像頭,其他屬性請參照官方文檔。
注意:寬高不能設置為0,否則不能拍照。
3、Java代碼
public class MainActivity extends BaseActivity { @BindView(R.id.btn_test) Button btnTest; @BindView(R.id.camera) CameraView cameraView; @BindView(R.id.ll_content) LinearLayout llContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); initView(); } @Override protected void onResume() { super.onResume(); cameraView.start(); } @Override protected void onPause() { // TODO Auto-generated method stub cameraView.stop(); super.onPause(); } private void initView() { //設置回調(diào) cameraView.addCameraKitListener(new CameraKitEventListener() { @Override public void onEvent(CameraKitEvent cameraKitEvent) { } @Override public void onError(CameraKitError cameraKitError) { } @Override public void onImage(CameraKitImage cameraKitImage) { ImageView imageView = new ImageView(MainActivity.this); imageView.setImageBitmap(cameraKitImage.getBitmap()); llContent.addView(imageView); } @Override public void onVideo(CameraKitVideo cameraKitVideo) { } }); } @OnClick(R.id.btn_test) public void onViewClicked() { //拍照 cameraView.captureImage(); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android中RecyclerView實現(xiàn)橫向滑動代碼
這篇文章主要介紹了Android中RecyclerView實現(xiàn)橫向滑動代碼的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07深入分析Android NFC技術 android nfc開發(fā)
本篇文章我們對android開發(fā)中nfc技術做了全面的原理分析以及實現(xiàn)過程,需要的讀者們一起參考一下吧。2017-11-11Android性能優(yōu)化之弱網(wǎng)優(yōu)化詳解
這篇文章主要為大家介紹了Android性能優(yōu)化之弱網(wǎng)優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10Android獲取手機聯(lián)系人電話號碼并返回結(jié)果
這篇文章主要為大家詳細介紹了Android獲取手機聯(lián)系人電話號碼并返回結(jié)果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11OpenGL Shader實現(xiàn)光照發(fā)光體特效
這篇文章主要介紹了如何通過OpenGL Shader實現(xiàn)光照發(fā)光體特效,不同于陰影遮蓋,它是利用圓形繪制向內(nèi)部。感興趣的小伙伴可以了解一下2022-02-02Android編程中FileOutputStream與openFileOutput()的區(qū)別分析
這篇文章主要介紹了Android編程中FileOutputStream與openFileOutput()的區(qū)別,結(jié)合實例形式分析了FileOutputStream與openFileOutput()的功能,使用技巧與用法區(qū)別,需要的朋友可以參考下2016-02-02