本文实例讲述了Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能的方法。分享给大家供大家参考,具体如下:
1、布局界面
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 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" tools:context=".GameActivity" > <.example.tetris;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.Toast;import .tetris.view.GameView;public class GameActivity extends Activity {//声明按钮控件public Button btn_start;public Button btn_right;public Button btn_left;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_game);//获取按钮控件btn_start=(Button) findViewById(R.id.btn_start);btn_start.setOnClickListener(new MyOnClickListener());System.out.println("主线程:::"+Thread.currentThread().getName());}@Overridepublic 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;}class MyOnClickListener implements View.OnClickListener{@Overridepublic void onClick(View v) {int id=v.getId();switch (id) {case R.id.btn_start://GameView gameView=new GameView(GameActivity.this,null);GameActivity.this.setContentView(R.layout.activity_layout);//获取控件btn_right=(Button) findViewById(R.id.btn_right);btn_left=(Button) findViewById(R.id.btn_left);btn_left.setOnClickListener(new MyOnClickListener());btn_right.setOnClickListener(new MyOnClickListener());break;case R.id.btn_left:Toast.makeText(GameActivity.this, "向左移动", Toast.LENGTH_LONG).show();GameView.block.moveLeft();//GameView.dir=GameView.DIRLEFT;break;case R.id.btn_right:Toast.makeText(GameActivity.this, "向右移动", Toast.LENGTH_LONG).show();GameView.block.moveRight();//GameView.dir=GameView.DIRRIGHT;break;default:break;}}}}希望本文所述对大家Android程序设计有所帮助。