ButterKnife你需要知道的點

2022-04-06 03:08:21 字數 2092 閱讀 5954

butterknife,這個方便findviewbyid而使用的庫,無數的應用在使用它,以註解來實現的他,對應用的效能影響幾乎可以忽略,可以放心使用。

使用: 

compile 'com.jakewharton:butterknife:7.0.1'
我們常用的無非就是:

@bind(r.id.name)

view name

@onclick(r.id.name)

public void click(){}

其實他的功能遠不僅僅如此,常用的還有下面點是你需要知道的。

1.對多個view的點選事件監聽:

@onclick()

public void buttonclicks(view view)

}

2.長按以及選中item等的監聽:

@onlongclick(r.id.hello) boolean saygetoffme() 

@onitemclick(r.id.list_of_things) void onitemclick(int position)

@onitemselected()

void onitemselected(spinner spinner, int position)

@onitemselected(value=r.id.spinnercountry, callback = onitemselected.callback.nothing_selected)

void onnothingselected()

*****

@onlongclick

@onpagechange

onpagechange.callback

@ontextchanged

@ontextchanged.callback

@ontouch

@onitemlongclick

@oncheckedchanged

3.繫結資源檔案,也可以這樣玩:

@bindcolor(r.color.red) int red; 

@bindstring(r.string.activity_title) string activitytitle;

@binddimen(r.dimen.btn_horizontal_margin_common) float btnhorizontalmargincommon;

@binddrawable(r.drawable.ic_instructions) drawable iconinstructions;

4.繫結多個view到list:

bind()

listnameviews;

static final butterknife.actiondisable = new butterknife.action() };

static final butterknife.setterenabled = new butterknife.setter()

};5.設定view的屬性:

6.如果對findviewbyid懷念,你也可以這樣玩:

view view = layoutinflater.from(context).inflate(r.layout.thing, null);

textview firstname = butterknife.findbyid(view, r.id.first_name);

textview lastname = butterknife.findbyid(view, r.id.last_name);

imageview photo = butterknife.findbyid(view, r.id.photo);

7.非空判斷,如果view為空會丟擲異常,但是你可以這樣玩呀:

@nullable  @bind(r.id.edusername) 

edittext edusername;

你需要這個

今天朋友圈刷到了我去年面試過的乙個應屆畢業生,大學學的就是計算機與科學專業,但是朋友圈發的是在做pos機的廣告 遂與之溝通得知原來他一直沒有找到對口的工作,為了在城市生存選擇了現在做的工作。去年我面試他的時候,是要找乙個認真負責的講師,但是他當時拒接了,原因很簡單,他沒有做講師的經驗。在我看來他的拒...

你需要Flash Remoting嗎?

flash mx推出後,macromedia積極推出很多和flash有關的產,有drk flash remoting flash data connecton kit,即將來臨還有central和royale 其中最令一般flash玩家疑惑的是flash remoting和data connecto...

你需要抗氧化嗎

什麼叫抗氧化?抗氧化是指抗氧化自由基的簡稱,英文anti oxidant。人體因為與外界的持續接觸,包括 呼吸 氧化反應 外界汙染 放射線照射等因素不斷的在人體體內產生自由基。科學研究表明,癌症 衰老或其它疾病大都與過量自由基的產生有關聯。研究抗氧化可以有效克服其所帶來的危害,所以抗氧化被保健品 化...