3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
android程式設計實例入門 -Sample改寫分享 (2014/09/12)   此範例為程式碼(03\Sample7)的改寫,利用一個LinearLayout、一個TextView和一個Button元件實作GUI界面,並且利用SampleTouchListener讓按鈕擁有Touch事件反應能力另外在Activity上實作Touch+KeyDown事件讓Activity也擁有Touch+KeyDown事件反應能力,程式碼如下所示:     package com.jashsample; import android.os.Bundle; import android.app.Activity; import android.view.KeyEvent; import android.view.Menu; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; public class MainActivity extends Activity { public TextView tv; public Button bt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ll = new LinearLayout(this); ll.setOrientation(LinearLayout.VERTICAL); setContentView(ll); tv = new TextView(this); tv.setText("歡迎光臨。"); bt = new Button(this); bt.setText("購買"); ll.addView(tv); ll.addView(bt); bt.setOnTouchListener(new SampleTouchListener());//Touch事件 } public boolean onKeyDown(int keycode, KeyEvent e)//直接在Activity上實作KeyDown事件 { String str; switch(keycode) { case KeyEvent.KEYCODE_DPAD_UP: str = "上"; break; case KeyEvent.KEYCODE_DPAD_DOWN: str = "下"; break; case KeyEvent.KEYCODE_DPAD_LEFT: str = "左"; break; case KeyEvent.KEYCODE_DPAD_RIGHT: str = "右"; break; case KeyEvent.KEYCODE_DPAD_CENTER: str = "中央"; break; default: str = "其他按鍵"; } tv.setText("��" + str + "。"); return true; } public boolean onTouchEvent(MotionEvent e)//直接在Activity上實作Touch事件 { if(e.getAction() == MotionEvent.ACTION_DOWN)//設定在畫面任何地方Touch都改變tv文字 { tv.setText("您好再見"); } else if(e.getAction() == MotionEvent.ACTION_UP) { tv.setText("再見您好"); } return true; } @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; } class SampleTouchListener implements OnTouchListener { public boolean onTouch(View v, MotionEvent e) { if(e.getAction() == MotionEvent.ACTION_DOWN) { tv.setText("您好"); } else if(e.getAction() == MotionEvent.ACTION_UP) { tv.setText("再見"); } return true; } } class SampleClickListener implements OnClickListener//按鈕事件反��類別 { public void onClick(View v) { tv.setText("謝謝惠顧。"); } } }  

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦