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

