参考了安客课程中的android每天写一个APP,完成了自己的第一个Android应用程序——手电筒。
【功能】
功能很简单,一个手电筒,两个按键,开启和关闭,
开启——>背景调白
关闭——>背景调黑
【收获】
明白怎么建立Android工程
知道怎么拖控件,并根据自己的需要设置控件的属性
知道怎么设置控件的动作,觉得有点像MFC中的事件触发。
先在layout中的xml文件中定义动作
android:onClick="clickOff"
再在activity中定义这个动作要完成的事情(是MainActivity类中的一个方法)
public void clickOff(View view){
getWindow().setBackgroundDrawable(newColorDrawable(Color.BLACK));
}
【错误】
过程中遇到的几个错误
Import 必备的包,自己并不清楚但是会有提示
import android.view.View;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
点击小灯泡会出现提示
点击第一个,他会自动加上
问题解决。
【程序】
MainActivity.java
package com.example.flashlight;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
*
* @param view
*/
public void clickOn(View view){
getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE));
}
public void clickOff(View view){
getWindow().setBackgroundDrawable(new ColorDrawable(Color.BLACK));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
layout中Activity_main.xml
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_alignParentBottom="true"
android:layout_marginBottom="55dp"
android:layout_marginLeft="22dp"
android:text="开启"
android:onClick="clickOn"
/>
<Button
android:onClick="clickOff"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:text="关闭"/>