package com.jieen.viewc;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class MainActivity extends Activity {
private final String tag = "JIEEN";
private final int MSG_DIG = 102101;
private int[] images = new int[]{
R.drawable.num_0,
R.drawable.num_1,
R.drawable.num_2,
R.drawable.num_3,
R.drawable.num_4,
R.drawable.num_5,
R.drawable.num_6,
R.drawable.num_7,
R.drawable.num_8,
R.drawable.num_9,
};
private RelativeLayout relLayout = null;
private ImageView img_bai = null;
private ImageView img_shi = null;
private ImageView img_ge = null;
private Button btnShowHide = null;
private int testNum = 0;
private int showHiden = 0;
private boolean isQuit = false;
private String digStr = "";
private Timer digTimer = null;
Handler playerHandle = new Handler(){
public void handleMessage(Message msg) {
Log.i(tag, " "+msg);
switch(msg.what)
{
case MSG_DIG:
Log.i(tag, "MSG_DIG Num="+msg.arg1);
showImgByNum(msg.arg1,false);
break;
default:
Log.i(tag, "Default");
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_bai = (ImageView)findViewById(R.id.img_bai);
img_shi = (ImageView)findViewById(R.id.img_shi);
img_ge = (ImageView)findViewById(R.id.img_ge);
btnShowHide = (Button)findViewById(R.id.btnHiden);
btnShowHide.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(((++showHiden) % 2) ==0)
{
btnShowHide.setText(R.string.strHiden);
img_bai.setVisibility(View.VISIBLE);
img_shi.setVisibility(View.VISIBLE);
img_ge.setVisibility(View.VISIBLE);
//relLayout.setVisibility(View.VISIBLE);
}else
{
btnShowHide.setText(R.string.strShowNum);
img_bai.setVisibility(View.INVISIBLE);
img_shi.setVisibility(View.INVISIBLE);
img_ge.setVisibility(View.INVISIBLE);
//relLayout.setVisibility(View.INVISIBLE);
}
}
});
/*
showImgByNum(267,false);
new Thread(){
public void run() {
while(!isQuit)
{
try {
testNum++;
Log.i(tag, "Num:"+testNum);
Message msg = new Message();
msg.what = MSG_DIG;
playerHandle.sendEmptyMessage(MSG_DIG);
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
*/
}
private void showImgByNum(int num,boolean showZero) {
int bai = num/100;
int shi = num/10%10;
int ge = num%10;
Log.i(tag, "bai:"+bai+" shi:"+shi+" ge:"+ge);
if((bai == 0) && (!showZero))
{
img_bai.setVisibility(View.INVISIBLE);
}
else
{
img_bai.setVisibility(View.VISIBLE);
img_bai.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[bai]));
}
if((bai == 0) && (shi == 0) && (!showZero))
{
img_shi.setVisibility(View.INVISIBLE);
}
else
{
img_shi.setVisibility(View.VISIBLE);
img_shi.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[shi]));
}
img_ge.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[ge]));
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode)
{
case KeyEvent.KEYCODE_0:
case KeyEvent.KEYCODE_1:
case KeyEvent.KEYCODE_2:
case KeyEvent.KEYCODE_3:
case KeyEvent.KEYCODE_4:
case KeyEvent.KEYCODE_5:
case KeyEvent.KEYCODE_6:
case KeyEvent.KEYCODE_7:
case KeyEvent.KEYCODE_8:
case KeyEvent.KEYCODE_9:
Log.i(tag, "Your Press:"+(keyCode-7));
handleNumPlay((keyCode-7));
break;
}
return super.onKeyDown(keyCode, event);
}
private void handleNumPlay(int num) {
if(digStr.length()>=3)
{
digStr=""+num;
Log.e(tag, "DigNum:超出范围,DigStr:"+digStr);
}
else
{
digStr = digStr+num;
Log.i(tag, "DigNum:"+digStr);
}
digTimer = new Timer();
digTimer.schedule(new TimerTask() {
public void run() {
int digInt = Integer.parseInt(digStr);
Message msg = new Message();
msg.what = MSG_DIG;
msg.arg1 = digInt;
playerHandle.sendMessage(msg);
}
}, 500);
/*
Message msg = new Message();
msg.what = MSG_DIG;
playerHandle.sendEmptyMessage(MSG_DIG);
*/
}
@Override
protected void onDestroy() {
Log.i(tag, "Destroy");
isQuit = true;
super.onDestroy();
}
@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;
}
}
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class MainActivity extends Activity {
private final String tag = "JIEEN";
private final int MSG_DIG = 102101;
private int[] images = new int[]{
R.drawable.num_0,
R.drawable.num_1,
R.drawable.num_2,
R.drawable.num_3,
R.drawable.num_4,
R.drawable.num_5,
R.drawable.num_6,
R.drawable.num_7,
R.drawable.num_8,
R.drawable.num_9,
};
private RelativeLayout relLayout = null;
private ImageView img_bai = null;
private ImageView img_shi = null;
private ImageView img_ge = null;
private Button btnShowHide = null;
private int testNum = 0;
private int showHiden = 0;
private boolean isQuit = false;
private String digStr = "";
private Timer digTimer = null;
Handler playerHandle = new Handler(){
public void handleMessage(Message msg) {
Log.i(tag, " "+msg);
switch(msg.what)
{
case MSG_DIG:
Log.i(tag, "MSG_DIG Num="+msg.arg1);
showImgByNum(msg.arg1,false);
break;
default:
Log.i(tag, "Default");
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_bai = (ImageView)findViewById(R.id.img_bai);
img_shi = (ImageView)findViewById(R.id.img_shi);
img_ge = (ImageView)findViewById(R.id.img_ge);
btnShowHide = (Button)findViewById(R.id.btnHiden);
btnShowHide.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(((++showHiden) % 2) ==0)
{
btnShowHide.setText(R.string.strHiden);
img_bai.setVisibility(View.VISIBLE);
img_shi.setVisibility(View.VISIBLE);
img_ge.setVisibility(View.VISIBLE);
//relLayout.setVisibility(View.VISIBLE);
}else
{
btnShowHide.setText(R.string.strShowNum);
img_bai.setVisibility(View.INVISIBLE);
img_shi.setVisibility(View.INVISIBLE);
img_ge.setVisibility(View.INVISIBLE);
//relLayout.setVisibility(View.INVISIBLE);
}
}
});
/*
showImgByNum(267,false);
new Thread(){
public void run() {
while(!isQuit)
{
try {
testNum++;
Log.i(tag, "Num:"+testNum);
Message msg = new Message();
msg.what = MSG_DIG;
playerHandle.sendEmptyMessage(MSG_DIG);
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
*/
}
private void showImgByNum(int num,boolean showZero) {
int bai = num/100;
int shi = num/10%10;
int ge = num%10;
Log.i(tag, "bai:"+bai+" shi:"+shi+" ge:"+ge);
if((bai == 0) && (!showZero))
{
img_bai.setVisibility(View.INVISIBLE);
}
else
{
img_bai.setVisibility(View.VISIBLE);
img_bai.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[bai]));
}
if((bai == 0) && (shi == 0) && (!showZero))
{
img_shi.setVisibility(View.INVISIBLE);
}
else
{
img_shi.setVisibility(View.VISIBLE);
img_shi.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[shi]));
}
img_ge.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[ge]));
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch(keyCode)
{
case KeyEvent.KEYCODE_0:
case KeyEvent.KEYCODE_1:
case KeyEvent.KEYCODE_2:
case KeyEvent.KEYCODE_3:
case KeyEvent.KEYCODE_4:
case KeyEvent.KEYCODE_5:
case KeyEvent.KEYCODE_6:
case KeyEvent.KEYCODE_7:
case KeyEvent.KEYCODE_8:
case KeyEvent.KEYCODE_9:
Log.i(tag, "Your Press:"+(keyCode-7));
handleNumPlay((keyCode-7));
break;
}
return super.onKeyDown(keyCode, event);
}
private void handleNumPlay(int num) {
if(digStr.length()>=3)
{
digStr=""+num;
Log.e(tag, "DigNum:超出范围,DigStr:"+digStr);
}
else
{
digStr = digStr+num;
Log.i(tag, "DigNum:"+digStr);
}
digTimer = new Timer();
digTimer.schedule(new TimerTask() {
public void run() {
int digInt = Integer.parseInt(digStr);
Message msg = new Message();
msg.what = MSG_DIG;
msg.arg1 = digInt;
playerHandle.sendMessage(msg);
}
}, 500);
/*
Message msg = new Message();
msg.what = MSG_DIG;
playerHandle.sendEmptyMessage(MSG_DIG);
*/
}
@Override
protected void onDestroy() {
Log.i(tag, "Destroy");
isQuit = true;
super.onDestroy();
}
@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;
}
}