Androidstudio学习3:实现倒计时、画板
2023年7月13日发(作者:)
Androidstudio学习3:实现倒计时、画板1、倒计时APP运⾏图⽰:**xml代码 java代码import l;import patActivity;import ;import r;import e;import ;import ;import xt;import ew;import ;import ask;public class MainActivity extends AppCompatActivity implements kListener { private EditText input_time; private Button getTime,startTime,stopTime; private TextView time; private int i = 0; private Timer timer = null; private TimerTask task = null; @Override protected void onCreate(Bundle savedInstanceState) { te( savedInstanceState ); setContentView( ty_main ); initView(); } private void initView(){ input_time = (EditText) findViewById( _time ); getTime = (Button) findViewById( _time ); startTime = (Button) findViewById( _time ); stopTime = (Button) findViewById( _time ); time = (TextView) findViewById( ); lickListener( this ); lickListener( this ); lickListener( this ); } @Override public void onClick(View v) { switch (()) { case _time: t( input_t().toString() ); i = nt( input_t().toString() ); break; case _time: StartTime(); break; case _time: StopTime(); break; } } private Handler mHandler = new Handler(){ public void handleMessage(Message msg) { t(1+""); StartTime(); }; }; }; public void StartTime(){ timer = new Timer(); task = new TimerTask() { @Override public void run() { i--; Message message = Message(); 1 = i; ssage( message ); } }; le( task, 1000 ); } public void StopTime(){ (); }}2、画板APPxml代码 < android:id="@+id/draw" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"/> java代码1package gboard;import patActivity;import ;import ;import ;public class MainActivity extends AppCompatActivity { private Button btn; private MyView view; @Override protected void onCreate(Bundle savedInstanceState) { te( savedInstanceState ); setContentView( ty_main ); btn = (Button)findViewById( ); view = (MyView)findViewById( ) ; lickListener( new kListener() { @Override public void onClick(View v) { (); } } ); }}java代码2package gboard;import t;import ;import ;import ;import ;import uteSet;import Event;import eHolder;import eView;import ;public class MyView extends SurfaceView implements ck, hListener { private Paint p = new Paint(); private Path path = new Path(); public MyView(Context context, AttributeSet attrs) { super(context, attrs); getHolder().addCallback( this ); or( ); tSize( 50 ); le( );// iAlias( true ); setOnTouchListener( this ); } public void draw(){ Canvas canvas = getHolder().lockCanvas(); lor( ); th( path, p ); getHolder().unlockCanvasAndPost( canvas ); } public void clear(){ (); draw(); } @Override public void surfaceCreated(SurfaceHolder holder) { draw(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { } @Override public boolean onTouch(View v, MotionEvent event) { switch (ion()){ case _DOWN: ( (),() ); draw(); break; case _MOVE: ( (),() ); draw(); break; } return true; }}
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689216141a222294.html
评论列表(0条)