android程式設計實例入門 -Sample改寫分享 (2014/09/11)

android程式設計實例入門 -Sample改寫分享 (2014/09/11)

android程式設計實例入門 -Sample改寫分享 (2014/09/11)

 

此範例為程式碼(03\Sample6)的改寫,利用一個LinearLayout、一個TextView和一個Button元件實作GUI界面,並且利用SampleTouchListener讓按鈕擁有Touch事件反應能力另外在Activity上實作Touch事件讓Activity也擁有Touch事件反應能力,程式碼如下所示:

 

 

package com.jashsample;
import android.os.Bundle;
import android.app.Activity;
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 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("謝謝惠顧。");
}
}
}

 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *