Android 如何在攝像頭預(yù)覽的背景上加上一個(gè)手指可拖動(dòng)的調(diào)節(jié)框?
問題描述
請(qǐng)問調(diào)節(jié)框該如何繪制?是在SufaceView 中繪制么?手指拖動(dòng)如何實(shí)現(xiàn)?
啟動(dòng)拍照功能后,下面是攝像頭預(yù)覽的背景(模擬器的),在這個(gè)背景上加上一個(gè)調(diào)節(jié)框
Activity代碼
public class PickActivity extends AppCompatActivity { private Button mBtnPick; private SurfaceView mSvView; private SurfaceHolder.Callback mCallback; private Camera mCamera; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_pick);initView();mCallback = new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder holder) {startCamera(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) {stopCamera(); }};mSvView.getHolder().addCallback(mCallback);mBtnPick.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {mCamera.takePicture(null, null, new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) {File path = new File(Environment.getExternalStorageDirectory(), 'test');if (!path.exists()) { path.mkdirs();}File fileName = new File(path, 'test.jpg');try { FileOutputStream fos = new FileOutputStream(fileName); fos.write(data); fos.flush(); fos.close();} catch (IOException e) { e.printStackTrace();} }}); }}); } private void stopCamera() {mCamera.stopPreview();mCamera.release();mCamera = null; } private void startCamera() {mCamera = Camera.open();try { mCamera.setPreviewDisplay(mSvView.getHolder()); mCamera.setDisplayOrientation(90); mCamera.startPreview();} catch (IOException e) { e.printStackTrace();} } private void initView() {mBtnPick = (Button) findViewById(R.id.id_btn_pick);mSvView = (SurfaceView) findViewById(R.id.id_sv_camera); }}
問題解答
回答1:添加seekBar
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題2. 關(guān)于docker下的nginx壓力測(cè)試3. docker - 如何修改運(yùn)行中容器的配置4. angular.js - angularjs的自定義過濾器如何給文字加顏色?5. docker鏡像push報(bào)錯(cuò)6. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””7. java - 如何點(diǎn)擊按鈕,重新運(yùn)行(我是初學(xué)者)?8. 前端 - @media query 使用出現(xiàn)的問題?9. html5和Flash對(duì)抗是什么情況?10. html - css氣泡,實(shí)現(xiàn)“倒三角(不知道算不算三角了)”可透明的。

網(wǎng)公網(wǎng)安備