2023年7月15日发(作者:)
AndroidCamera开发:给摄像头预览界⾯加个ZoomBar(附完整代码下载)源码:废话不说了,就是加个seekbar,拖动的话能够调节焦距,让画⾯变⼤或缩⼩。下⾯是核⼼程序:⼀,camera的布局⽂件1. 2. xmlns:tools="/tools" 3. android:layout_width="fill_parent" 4. android:layout_height="fill_parent" 5. android:orientation="vertical" > 6. 7. 8. android:layout_width="wrap_content" 9. android:layout_height="wrap_content" 10. android:text="@string/BestWish" 11. tools:context=".StandardCamera" /> 12. 13. 14. android:layout_width="wrap_content" 15. android:layout_height="wrap_content" > 16. 17. 18. android:layout_width="wrap_content" 19. android:layout_height="wrap_content" > 20. 21. 22. android:id="@+id/previewSV" 23. android:layout_width="fill_parent" 24. android:layout_height="wrap_content" /> 25. 26. 27. 28. android:id="@+id/zoomLayout" 29. android:layout_width="wrap_content" 30. android:layout_height="40dp" 31. android:layout_centerInParent="true" 32. android:layout_centerHorizontal="true" 33. android:orientation="horizontal" > 34. 35. 36. android:id="@+id/textView1" 37. android:layout_width="wrap_content" 38. android:layout_height="wrap_content" 39. android:text="-" 40. android:textColor="#ffffff" 41. android:textSize="30dip"/> 42. 43. 44. android:id="@+id/seekbar_zoom" 45. android:layout_width="300dp" 46. android:layout_height="wrap_content" 47. android:layout_gravity="center_vertical" 48. android:progressDrawable="@drawable/seekbar_style" 49. android:thumb="@drawable/ic_launcher" 50. android:thumbOffset="0dp" /> 51. 52. 53. android:id="@+id/textView2" 54. android:layout_width="wrap_content" 55. android:layout_height="wrap_content" 56. android:text="+" 57. android:textColor="#ffffff" 58. android:textSize="30dip" /> 59. 60. 61. 62. 63. 64. 65. android:id="@+id/photoImgBtn" 66. android:layout_width="wrap_content" 67. android:layout_height="wrap_content" 68. android:layout_gravity="center" 69. android:background="@drawable/photo_img_btn" /> 70. 71.
其中⾥⾯嵌套的LinearLayout就是那个ZoomBar,最外⾯我⽤了相对布局,发现相对布局⽤起来还是很好⽤的。为了⽅便以后扩展,Camera的SurfaceView⽤的帧布局。注意SeekBar的⼏个参数,其中的progressDrawable是指那个横条的形状,可以直接⽤个图⽚,也可以写个xml⽂件。这⾥⽤的是xml,当然⽤图⽚很简单。seekbar_⽂件如下:1.
2.
3.
4.
5.
6. 7. android:startColor="#ff9d9e9d" 8. android:centerColor="#ff5a5d5a" 9. android:centerY="0.75" 10. android:endColor="#ff747674" 11. android:angle="270" 12. /> 13. 14. 15. 下⾯的android:thumb是滑动的那个⼿柄,本来我是写了⼀个xml⽂件,名字为如下:1. 2. 3. 4. 5. 6. 8. 9. 10. 11. 12. ⽆奈啥也显⽰不出来,索性直接找了个粗糙的图⽚,见谅哈!⼆,整个程序的主代码:1. package ; 2. import edOutputStream; 3. import ; 4. import tputStream; 5. import ption; 6. import ; 7. 8. import oto.R; 9. import ty; 10. import t; 11. import ; 12. import Factory; 13. import atrixColorFilter; 14. import ; 15. import ormat; 16. import ; 17. import cusCallback; 18. import ters; 19. import eCallback; 20. import wCallback; 21. import rCallback; 22. import ; 23. import ; 24. import y; 25. import Event; 26. import eHolder; 27. import eView; 28. import ; 29. import kListener; 30. import hListener; 31. import Params; 32. import ; 33. import Manager; 34. import utton; 35. import r; 36. import BarChangeListener; 37. 38. public class StandardCamera extends Activity implements ck, PreviewCallback{ 39. private static final String tag="StandardCamera"; 40. private boolean isPreview = false; 41. private SurfaceView mPreviewSV = null; //棰勮
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689428242a246551.html
评论列表(0条)