Android studio编写简单的手电筒APP

作者:知无涯者 时间:2023-11-29 18:43:01 

很不错的手电筒APP,分享给大家,希望大家喜欢。

1. Java代码    


package com.example.goo.gfire;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class FireActivity extends Activity {
 private Button button;
 private Camera camera = Camera.open();
 private Parameters parameters;
 private boolean islight=true;

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_fire);
  button = (Button) this.findViewById(R.id.bn);
  button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     if (islight) {
       camera.startPreview();
       parameters = camera.getParameters();
       parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
       camera.setParameters(parameters);
       islight = false
       ;
       button.setText("关");
     } else {
       parameters = camera.getParameters();
       parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
       camera.setParameters(parameters);
       islight = true;
       button.setText("开");
     }
    }

});
 }
}

2. FireActivity.java


package com.example.goo.gfire;

import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class FireActivity extends Activity {
 private Button button;
 private Camera camera = Camera.open();
 private Parameters parameters;
 private boolean islight=true;

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_fire);
  button = (Button) this.findViewById(R.id.bn);
  button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     if (islight) {
       camera.startPreview();
       parameters = camera.getParameters();
       parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
       camera.setParameters(parameters);
       islight = false
       ;
       button.setText("关");
     } else {
       parameters = camera.getParameters();
       parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
       camera.setParameters(parameters);
       islight = true;
       button.setText("开");
     }
    }

});
 }
}

3. content_fire.xml


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 app:layout_behavior="@string/appbar_scrolling_view_behavior"
 tools:context="com.example.goo.gfire.FireActivity"
 tools:showIn="@layout/activity_fire">

<TextView
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:text="电筒模式"
   android:textSize="34sp"
   android:textStyle="bold"
   android:gravity="center"/>
 <Button
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:id="@+id/bn"
   android:textOff="关"
   android:textOn="开"
   android:height="400dp"
   android:layout_alignParentBottom="true"
   android:layout_centerHorizontal="true"
   android:layout_marginBottom="59dp"
   android:fontFeatureSettings="@string/auth_google_play_services_client_facebook_display_name"
   android:textColor="@color/common_signin_btn_dark_text_focused"
   android:textStyle="bold"
   android:textSize="100sp"
   />

</RelativeLayout>
标签:android,studio,手电筒,APP
0
投稿

猜你喜欢

  • 利用Spring Data MongoDB持久化文档数据的方法教程

    2023-05-05 02:36:54
  • C语言字符串操作总结大全(超详细)

    2023-07-06 15:14:56
  • Java基于TCP协议的Socket通信

    2023-08-11 10:10:12
  • Java多线程 ThreadLocal原理解析

    2022-11-15 12:48:50
  • java实现发送邮箱验证码

    2022-07-05 07:40:07
  • 详解Java双轴快速排序算法

    2023-10-05 15:50:14
  • unity5.6 导出gradle工程 Android Studio 导入问题及处理方法

    2022-03-12 00:45:25
  • Android实现语音播放与录音功能

    2022-01-21 15:39:09
  • C#中DataSet、DataTable、DataRow数据的复制方法

    2021-10-26 20:10:31
  • JavaMail实现带附件的邮件发送

    2021-10-21 15:00:09
  • 协定需要会话,但是绑定“BasicHttpBinding”不支持它或者因配置不正确而无法支持它

    2023-03-17 16:44:34
  • android编程之ip2id程序实例

    2023-07-20 16:08:09
  • Java 关于递归的调用机制精细解读

    2023-01-17 04:42:41
  • Java内部类知识汇总

    2023-08-18 14:06:54
  • Winform实现调用asp.net数据接口实例

    2021-12-16 09:12:48
  • Java中PriorityQueue实现最小堆和最大堆的用法

    2022-03-25 14:32:18
  • 浅谈java的byte数组的不同写法

    2023-03-10 07:53:12
  • 使用Spring Data JDBC实现DDD聚合的示例代码

    2022-05-04 05:11:23
  • Android利用FlexboxLayout轻松实现流动布局

    2021-06-24 02:41:53
  • java通过Jsoup爬取网页过程详解

    2021-12-20 03:24:10
  • asp之家 软件编程 m.aspxhome.com