Androidは、プレビューなしの写真撮影機能を迅速に実現します。


本論文の例では、Androidのプレビューなし撮影機能を実現するための具体的なコードを共有しています。
実現の考え方:
プレビューのSurfaceViewの幅の高さを肉眼では見えない値に設定します。例えば0.1 dpです。他はカスタムカメラの標準ステップです。
もちろん、インターネットでカスタマイズしたカメラの文章は多く行きました。これ以上古い話をすることはできません。ここでは使いやすい第三者の倉庫を紹介します。多くの人がすでに知っていて、使ったことがあるかもしれません。使ったことがない人は試してみてもいいです。
余計なことを言わないで、先にソースアドレスに行きます。 
ここで簡単に使い方を紹介します。
1、gradleにライブラリを追加する依存:comple'comple.wonderkiln:cameraakit:0.3.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() {
  //    
  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();
 }
 
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。