編輯:關於Android編程
策略模式:定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。
理解:
把代碼中類似,但又有差異的算法部分,提取出來,定義一個借口,不同的算法來進行不同的實現,但調用算法的客戶可以進行統一的調用,因為實現了共同的借口,客戶不需要知道具體的實現,而是知道怎麼用,即針對接口編程,而不針對實現編程。
總結:
找出代碼中可能需要變換之處,把它們獨立出來,不要和那些不需要變化的代碼混在一起。
例子 private TextClickInterface mClickInterface; // 采用策略模式,封裝變化,實現點擊處理
(客戶)
public interface TextClickInterface{
public void click(); // 點擊事件,執行相應動作,如:預約、求片
public void changeText(); // 修改點擊後Text顯示效果
}
(定義接口)
(實現一)
public class YuyueText implements TextClickInterface{
private Context context;
private MarkInfo info; // 信息
private TextView text; // textview
public YuyueText(Context context,MarkInfo info, TextView text){
this.context = context;
this.info = info;
this.text = text;
}
@Override
public void click() {
//實現預約
}
@Override
public void changeText() {
//改變字體顏色及內容
text.setText(R.string.mark_yuyue_success);
text.setTextColor(context.getResources().getColor(R.color.mark_font_white));
text.setBackgroundColor(context.getResources().getColor(R.color.mark_blue_already));
Toast.makeText(context, "已預約成功", Toast.LENGTH_SHORT).show();;
}
}
(實現二)
public class QiupianText implements TextClickInterface{
private Context context;
private MarkInfo info;
private TextView text;
public QiupianText(Context context, MarkInfo info, TextView text){
this.context = context;
this.info = info;
this.text = text;
}
@Override
public void click() {
// 求片邏輯
}
@Override
public void changeText() {
// 改變text顏色、文字
text.setText(R.string.mark_qiupian_success);
text.setTextColor(context.getResources().getColor(R.color.mark_font_white));
text.setBackgroundColor(context.getResources().getColor(R.color.mark_blue_already));
Toast.makeText(context, "已發送求片請求", Toast.LENGTH_SHORT).show();
}
Android Animation Interpolator
備注:Scale應該比Translate先添加到Set裡面 Interpolator 時間插值類,定義動畫變換的速度。能夠實現alpha/scale/trans
Android輸入事件從讀取到分發四:InputDispatcherThread發送事件到View結構樹的過程
通過上一節的分析,我們發現InputDispatcherThread使用InputChannel的sendMessage方法發送了一條消息,但是我們不知道誰在接收這條消息
Android進階之事件攔截處理機制
1 Android控件架構1 簡單的總結(1)父View優先攔截當前事件,攔截不成功就讓子View對當前事件進行攔截。(2)如果攔截成功的話,就會沿著子view到父Vie
Android實現字母雨的效果
首先來看效果: 一、實現原理在實現過程中,主要考慮整個界面由若干個字母組成的子母線條組成,這樣的話把固定數量的字母封裝成一個字母線條,而每個字母又封裝成一個對象,這樣的話