Android快速實現(xiàn)無預(yù)覽拍照功能
本文實例為大家分享了Android實現(xiàn)無預(yù)覽拍照功能的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)思路:
把預(yù)覽的SurfaceView的寬高設(shè)置為肉眼看不出的值,例如0.1dp,其他的就是自定義相機的標(biāo)準(zhǔn)步驟了!
當(dāng)然,網(wǎng)上自定義相機的文章多的去了,我是不可能再做老生常談的事的,在這里我推薦一個很好用的第三方庫,也許很多人已經(jīng)了解過并且用過,沒用過的同學(xué)可以試試,親測好用。
廢話不多說,先上源碼地址
這里簡單介紹一下用法:
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" 表示用前置攝像頭,其他屬性請參照官方文檔。
注意:寬高不能設(shè)置為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() {
//設(shè)置回調(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android CameraX打開攝像頭預(yù)覽教程
- Android?CameraX?打開攝像頭預(yù)覽功能
- Android Camera2 實現(xiàn)預(yù)覽功能
- Android實現(xiàn)Camera2預(yù)覽和拍照效果
- Android camera實時預(yù)覽 實時處理,人臉識別示例
- Android編程中調(diào)用Camera時預(yù)覽畫面有旋轉(zhuǎn)問題的解決方法
- Android自定義相機、預(yù)覽區(qū)域裁剪
- Android實現(xiàn)圖片預(yù)覽與保存功能
- Android多種方式實現(xiàn)相機圓形預(yù)覽的示例代碼
- Android?Camera1實現(xiàn)預(yù)覽框顯示
相關(guān)文章
仿ios狀態(tài)欄顏色和標(biāo)題欄顏色一致的實例代碼
下面小編就為大家分享一篇仿ios狀態(tài)欄顏色和標(biāo)題欄顏色一致的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Android仿網(wǎng)易一元奪寶客戶端下拉加載動畫效果(一)
本文通過一個demo給大家介紹了android仿網(wǎng)易一元奪寶客戶端下拉加載動畫效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
Android圖像視圖ImageView實現(xiàn)圖像拉伸效果
這篇文章主要為大家詳細(xì)介紹了Android圖像視圖ImageView實現(xiàn)圖像拉伸演示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-05-05
Android手機通過rtp發(fā)送aac數(shù)據(jù)給vlc播放的實現(xiàn)步驟
這篇文章主要介紹了Android手機通過rtp發(fā)送aac數(shù)據(jù)給vlc播放的實現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-04-04
以一個著色游戲展開講解Android中區(qū)域圖像填色的方法
這篇文章主要介紹了Android中實現(xiàn)區(qū)域圖像顏色填充的方法,文中以一個著色游戲為例講解了邊界的填充等各種填色操作,需要的朋友可以參考下2016-02-02

