編輯:關於Android編程
package com.example.androidevent; import android.app.Activity; import android.graphics.Color; import android.graphics.Typeface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class EventTest1 extends Activity implements OnClickListener { private TextView content; int flag=0; //字體樣式標識 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); content = (TextView)findViewById(R.id.content); //1.顏色:內部類形式 Button redBtn = (Button)findViewById(R.id.red); Button greenBtn = (Button)findViewById(R.id.green); Button blueBtn = (Button)findViewById(R.id.blue); EventListener inner = new EventListener(); //實例化一個事件監聽器對象 redBtn.setOnClickListener(inner); //向以下界面組件注冊同一個事件監聽器 greenBtn.setOnClickListener(inner); blueBtn.setOnClickListener(inner); //2.字體大小:外部類形式 Button bigger = (Button)findViewById(R.id.big); Button smaller = (Button)findViewById(R.id.small); OuterListener outer = new OuterListener(content);//實例化一個事件監聽器對象 bigger.setOnClickListener(outer); smaller.setOnClickListener(outer); //3.字體樣式:類自身作為事件監聽器 Button boldBtn = (Button)findViewById(R.id.bold); Button inclineBtn = (Button)findViewById(R.id.incline); Button normalBtn = (Button)findViewById(R.id.normal); boldBtn.setOnClickListener(this); //向以下界面組件注冊同一個事件監聽器 inclineBtn.setOnClickListener(this); normalBtn.setOnClickListener(this); //4.匿名內部類 final EditText text = (EditText)findViewById(R.id.text); text.setOnClickListener(new OnClickListener(){ public void onClick(View v) { String contentText=text.getText().toString(); content.setText(contentText); //將編輯框內容設置到文本顯示框中 } }); } /*方法一:內部類形式 * 在onClick函數中,通過視圖的getId()方法判定產生事件組件的ID並作出相應的響應*/ public class EventListener implements OnClickListener { public void onClick(View arg0) { switch(arg0.getId()) { case R.id.red: //設置紅色按鈕被按下 content.setTextColor(Color.RED); break; case R.id.green: content.setTextColor(Color.GREEN); break; case R.id.blue: content.setTextColor(Color.BLUE); break; default: break; } } } /*方法3.類自身作為事件監聽器*/ @Override public void onClick(View v) { //flag為樣式標識,當flag=0表示默認,flag=1表示傾斜,flag=2表示加粗,flag=3表示傾斜又加粗 switch(v.getId()) { case R.id.bold: //設置加粗 if(flag==1||flag==3) { content.setTypeface(Typeface.MONOSPACE,Typeface.BOLD_ITALIC); //設置系統默認的字體樣式 flag=3; } else { content.setTypeface(Typeface.MONOSPACE,Typeface.BOLD); flag=2; } break; case R.id.incline: if(flag==2 || flag==3) { content.setTypeface(Typeface.MONOSPACE,Typeface.BOLD_ITALIC); //設置系統默認的字體樣式 flag=3; }else { content.setTypeface(Typeface.MONOSPACE,Typeface.ITALIC); flag=1; } break; case R.id.normal: content.setTypeface(Typeface.MONOSPACE,Typeface.NORMAL); //設置系統默認的字體樣式 flag=0; break; default: break; } } }(2)OuterListener.java:外部類形式事件監聽器
package com.example.androidevent; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; /*外部類形式*/ public class OuterListener implements OnClickListener { private TextView text; private float size; //構造方法1:將文本組件對象作為參數傳遞並賦值給類成員對象 public OuterListener(TextView t) { this.text = t; } //構造方法2 public OuterListener() { super(); } public void onClick(View v) { size= text.getTextSize(); //獲取文本字體大小 switch(v.getId()) { case R.id.big : { size+=4; break; } case R.id.small : { size-=4; break; } default: break; } //設置最值限度 if(size<=8) size=8; if(size>=72) size=72; text.setTextSize(size); } }
事件
接口
處理方法
描述
單擊事件
View.OnClickListener
abstract void onClick (View v)
單擊組件時觸發
單擊事件
View.OnLongClickListener
abstract boolean onLongClick (View v)
長按組件時觸發
鍵盤事件
View.OnKeyListener
abstract boolean onKey(View v, int keyCode, KeyEvent event)
處理鍵盤事件
焦點事件
View.OnFocusChangeListener
abstract void onFocusChange (View v, boolean hasFocus)
當焦點發生改變時觸發
觸摸事件
View.OnTouchListener
abstract boolean onTouch (View v, MotionEvent event)
產生觸摸事件
2.View類常見事件監聽器注冊方法方法
描述
void setOnClickListener(View.OnClickListener l)
注冊單擊事件
void setOnLongClickListener(View.OnLongClickListener l)
注冊長按事件
void setOnKeyListener(View.OnKeyListener l)
注冊鍵盤事件
void setOnFocusChangeListener(View.OnFocusChangeListener l)
注冊焦點改變事件
void setOnTouchListener(View.OnTouchListener l)
注冊觸摸事件
void setOnCreateContextMenuListener(View.OnCreateContextMenuListener l)
注冊上下文菜單事件
Android相比iOS,安全問題往往比較突出,各種漏洞和破解層出不窮。對破解方法的了解,能在開發中進行預防,加強應用的安全性。本系列文章會對Android應用的破解和保
前面我簡單的介紹了android的一些基礎知識,當作熱身吧,接下來接觸android的四大組件的activity活動。 1.活動Activity是是一種保護用戶界面的組件
前面的兩篇博客寫了文件緩存,現在說說Android-Universal-Image-Loader的內存緩存,該內存緩存涉及到的類如圖所示 這些類的繼承關系如下圖所示:
先來看看效果:首先來分析一下:這個菜單可以分成三個菜單:1.一級菜單(即最內圈那個菜單)2.二級菜單(即中間圈那個菜單)3.三級菜單(即最外圈那個菜單)首先,可以將這三個