黑马程序员技术交流社区

标题: android小项目-手电筒 [打印本页]

作者: a96339023    时间: 2016-2-22 22:43
标题: android小项目-手电筒
activity_main.xml
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:paddingBottom="@dimen/activity_vertical_margin"
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"
  7.     android:paddingRight="@dimen/activity_horizontal_margin"
  8.     android:paddingTop="@dimen/activity_vertical_margin"
  9.     tools:context=".MainActivity" >

  10.     <Button
  11.         android:layout_height="wrap_content"
  12.         android:text="开灯"
  13.         android:layout_width="wrap_content"
  14.         android:id="@+id/main_img"
  15.         />
  16. </RelativeLayout>
复制代码


MainActivity.java

  1. package com.example.shoud;

  2. import android.app.Activity;
  3. import android.hardware.Camera;
  4. import android.hardware.Camera.Parameters;
  5. import android.os.Bundle;
  6. import android.view.Menu;
  7. import android.view.View;
  8. import android.widget.TextView;
  9. import android.widget.Toast;

  10. public class MainActivity extends Activity {

  11.         private boolean isopent=false;
  12.         private Camera camera;
  13.         @Override
  14.         protected void onCreate(Bundle savedInstanceState) {
  15.                 super.onCreate(savedInstanceState);
  16.                 setContentView(R.layout.activity_main);
  17.                
  18.                 TextView img_but=(TextView)findViewById(R.id.main_img);
  19.                
  20.                 img_but.setOnClickListener(new View.OnClickListener() {
  21.                        
  22.                         @Override
  23.                         public void onClick(View v) {
  24.                                 // TODO Auto-generated method stub
  25.                                 if(!isopent)
  26.                                 {
  27.                                         Toast.makeText(getApplicationContext(), "闪光灯打开了", 0).show();
  28.                                         camera=Camera.open();
  29.                                         Parameters params=camera.getParameters();
  30.                                         params.setFlashMode(Parameters.FLASH_MODE_TORCH);
  31.                                         camera.setParameters(params);
  32.                                         camera.startPreview();//开始亮灯
  33.                                         isopent=true;
  34.                                 }else
  35.                                 {
  36.                                         Toast.makeText(getApplicationContext(), "关掉了闪光灯", Toast.LENGTH_SHORT).show();
  37.                                         camera.stopPreview();//关灯
  38.                                         camera.release();//关闭照相机
  39.                                         isopent=false;
  40.                                 }
  41.                         }
  42.                 });
  43.         }

  44.         @Override
  45.         public boolean onCreateOptionsMenu(Menu menu) {
  46.                 // Inflate the menu; this adds items to the action bar if it is present.
  47.                 getMenuInflater().inflate(R.menu.main, menu);
  48.                 return true;
  49.         }

  50. }
复制代码


AndroidManifest.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.     package="com.example.shoud"
  4.     android:versionCode="1"
  5.     android:versionName="1.0" >

  6.     <uses-sdk
  7.         android:minSdkVersion="8"
  8.         android:targetSdkVersion="21" />

  9.     <application
  10.         android:allowBackup="true"
  11.         android:icon="@drawable/ic_launcher"
  12.         android:label="@string/app_name"
  13.         android:theme="@style/AppTheme" >
  14.         <activity
  15.             android:name=".MainActivity"
  16.             android:label="@string/app_name" >
  17.             <intent-filter>
  18.                 <action android:name="android.intent.action.MAIN" />

  19.                 <category android:name="android.intent.category.LAUNCHER" />
  20.             </intent-filter>
  21.         </activity>
  22.     </application>

  23.     <!-- 摄像头/手电筒 -->
  24.     <uses-permission android:name="android.permission.CAMERA"/>
  25.     <uses-permission android:name="android.permission.FLASHLIGHT"/>
  26.    
  27.     <uses-feature android:name="android.hardware.camera"/>
  28.     <uses-feature android:name="android.hardware.camera.autofocus"/>
  29.     <uses-feature android:name="android.hardware.camera.flash"/>
  30.    
  31. </manifest>
复制代码

作者: WalkingMoon    时间: 2016-2-22 22:50
大神,膜拜膜拜
作者: diaokb    时间: 2016-2-23 18:40
赞                                          




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2