bài viết này long sẽ tự tạo cho chính ứng dụng của mình một đối tượng như là đối tượng actionbar của android. và tất nhiên đối tượng này do chính mình tạo ra thì mọi quyền hạn cũng như "luật chơi" là do chính như yêu cầu mà mình mong muốn không phải sự cho phép của android.
[img]data/attachments/17/17082-4bf3d36faae7e22f1bd011874579b38d.jpg[/img]
1) source code demo:
click vào đây để download source code demo.
2) video kết quả chạy demo:
3) actionbar là gì:
- như hình ảnh bên trên vậy, actionbar như là thanh tiêu đề của trang trong ứng dụng hiện tại. mà mỗi trang như vậy nó lại có một tiêu đề cũng như có các nút chức năng hoàn toàn khác nhau.
- chức năng mỗi nút là do chính mình hay do phía khách hàng đặt app quyết định.
- từ phiên android lever 11 trở đi (android 3.0 trở đi) thì android có hỗ trợ đối tượng actionbar.
4) mô tả thông tin thêm:
- trong demo này không sử dụng đối tượng actionbar của thư viện android
- trong demo này actionbar là một tập hợp từ các layout và đối tượng cơ bản (textview, imageview, linearlayout, ...)
- đối tượng myactionbar trong demo này còn thiết lập các sự kiện lắng nghe khi bạn click vào đối tượng.
5) source code:
- myactionbar.java
Mã nguồn PHP:
[color=#000000]
package android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700]; [/color][color=#0000bb]import java[/color][color=#007700].[/color][color=#0000bb]util[/color][color=#007700].[/color][color=#0000bb]destination urledlist[/color][color=#007700]; [/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]activitynotfoundexception[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]context[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]intent[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]res[/color][color=#007700].[/color][color=#0000bb]typedarray[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]util[/color][color=#007700].[/color][color=#0000bb]attributeset[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]layoutinflater[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]onclicklistener[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]imagebutton[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]imageview[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]linearlayout[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]progressbar[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]relativelayout[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]textview[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]toast[/color][color=#007700]; public class [/color][color=#0000bb]myactionbar [/color][color=#007700]extends [/color][color=#0000bb]relativelayout [/color][color=#007700]implements [/color][color=#0000bb]onclicklistener[/color][color=#007700]{ private [/color][color=#0000bb]layoutinflater minflater[/color][color=#007700]; private [/color][color=#0000bb]relativelayout mbarview[/color][color=#007700]; private [/color][color=#0000bb]imageview mlogoview[/color][color=#007700]; private [/color][color=#0000bb]view mbackindicator[/color][color=#007700]; private [/color][color=#0000bb]textview mtitleview[/color][color=#007700]; private [/color][color=#0000bb]linearlayout mactionsview[/color][color=#007700]; private [/color][color=#0000bb]imagebutton mhomebtn[/color][color=#007700]; private [/color][color=#0000bb]relativelayout mhomelayout[/color][color=#007700]; private [/color][color=#0000bb]progressbar mprogress[/color][color=#007700]; public [/color][color=#0000bb]myactionbar[/color][color=#007700]([/color][color=#0000bb]context context[/color][color=#007700], [/color][color=#0000bb]attributeset attrs[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700], [/color][color=#0000bb]attrs[/color][color=#007700]); [/color][color=#0000bb]minflater [/color][color=#007700]= ([/color][color=#0000bb]layoutinflater[/color][color=#007700]) [/color][color=#0000bb]context[/color][color=#007700].[/color][color=#0000bb]getsystemservice[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700].[/color][color=#0000bb]layout_inflater_service[/color][color=#007700]); [/color][color=#0000bb]mbarview [/color][color=#007700]= ([/color][color=#0000bb]relativelayout[/color][color=#007700]) [/color][color=#0000bb]minflater[/color][color=#007700].[/color][color=#0000bb]inflate[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]actionbar[/color][color=#007700], [/color][color=#0000bb]null[/color][color=#007700]); [/color][color=#0000bb]addview[/color][color=#007700]([/color][color=#0000bb]mbarview[/color][color=#007700]); [/color][color=#0000bb]mlogoview [/color][color=#007700]= ([/color][color=#0000bb]imageview[/color][color=#007700]) [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_home_logo[/color][color=#007700]); [/color][color=#0000bb]mhomelayout [/color][color=#007700]= ([/color][color=#0000bb]relativelayout[/color][color=#007700]) [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_home_bg[/color][color=#007700]); [/color][color=#0000bb]mhomebtn [/color][color=#007700]= ([/color][color=#0000bb]imagebutton[/color][color=#007700]) [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_home_btn[/color][color=#007700]); [/color][color=#0000bb]mbackindicator [/color][color=#007700]= [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_home_is_back[/color][color=#007700]); [/color][color=#0000bb]mtitleview [/color][color=#007700]= ([/color][color=#0000bb]textview[/color][color=#007700]) [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_title[/color][color=#007700]); [/color][color=#0000bb]mactionsview [/color][color=#007700]= ([/color][color=#0000bb]linearlayout[/color][color=#007700]) [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_actions[/color][color=#007700]); [/color][color=#0000bb]mprogress [/color][color=#007700]= ([/color][color=#0000bb]progressbar[/color][color=#007700]) [/color][color=#0000bb]mbarview[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_progress[/color][color=#007700]); [/color][color=#0000bb]typedarray a [/color][color=#007700]= [/color][color=#0000bb]context[/color][color=#007700].[/color][color=#0000bb]obtainstyledattributes[/color][color=#007700]([/color][color=#0000bb]attrs[/color][color=#007700], [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]styleable[/color][color=#007700].[/color][color=#0000bb]actionbar[/color][color=#007700]); [/color][color=#0000bb]charsequence title [/color][color=#007700]= [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]getstring[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]styleable[/color][color=#007700].[/color][color=#0000bb]actionbar_title[/color][color=#007700]); if ([/color][color=#0000bb]title [/color][color=#007700]!= [/color][color=#0000bb]null[/color][color=#007700]) { [/color][color=#0000bb]settitle[/color][color=#007700]([/color][color=#0000bb]title[/color][color=#007700]); } [/color][color=#0000bb]a[/color][color=#007700].[/color][color=#0000bb]recycle[/color][color=#007700](); } public [/color][color=#0000bb]void sethomeaction[/color][color=#007700]([/color][color=#0000bb]action action[/color][color=#007700]) { [/color][color=#0000bb]mhomebtn[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700]); [/color][color=#0000bb]mhomebtn[/color][color=#007700].[/color][color=#0000bb]settag[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700]); [/color][color=#0000bb]mhomebtn[/color][color=#007700].[/color][color=#0000bb]setimageresource[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700].[/color][color=#0000bb]getdrawable[/color][color=#007700]()); [/color][color=#0000bb]mhomelayout[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]visible[/color][color=#007700]); } public [/color][color=#0000bb]void clearhomeaction[/color][color=#007700]() { [/color][color=#0000bb]mhomelayout[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]gone[/color][color=#007700]); } public [/color][color=#0000bb]void sethomelogo[/color][color=#007700]([/color][color=#0000bb]int resid[/color][color=#007700]) { [/color][color=#0000bb]mlogoview[/color][color=#007700].[/color][color=#0000bb]setimageresource[/color][color=#007700]([/color][color=#0000bb]resid[/color][color=#007700]); [/color][color=#0000bb]mlogoview[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]visible[/color][color=#007700]); [/color][color=#0000bb]mhomelayout[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]gone[/color][color=#007700]); } public [/color][color=#0000bb]void setdisplayhomeasupenabled[/color][color=#007700]([/color][color=#0000bb]boolean show[/color][color=#007700]) { [/color][color=#0000bb]mbackindicator[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]show[/color][color=#007700]? [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]visible [/color][color=#007700]: [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]gone[/color][color=#007700]); } public [/color][color=#0000bb]void settitle[/color][color=#007700]([/color][color=#0000bb]charsequence title[/color][color=#007700]) { [/color][color=#0000bb]mtitleview[/color][color=#007700].[/color][color=#0000bb]settext[/color][color=#007700]([/color][color=#0000bb]title[/color][color=#007700]); } public [/color][color=#0000bb]void settitle[/color][color=#007700]([/color][color=#0000bb]int resid[/color][color=#007700]) { [/color][color=#0000bb]mtitleview[/color][color=#007700].[/color][color=#0000bb]settext[/color][color=#007700]([/color][color=#0000bb]resid[/color][color=#007700]); } public [/color][color=#0000bb]void setprogressbarvisibility[/color][color=#007700]([/color][color=#0000bb]int visibility[/color][color=#007700]) { [/color][color=#0000bb]mprogress[/color][color=#007700].[/color][color=#0000bb]setvisibility[/color][color=#007700]([/color][color=#0000bb]visibility[/color][color=#007700]); } public [/color][color=#0000bb]int getprogressbarvisibility[/color][color=#007700]() { return [/color][color=#0000bb]mprogress[/color][color=#007700].[/color][color=#0000bb]getvisibility[/color][color=#007700](); } public [/color][color=#0000bb]void setontitleclicklistener[/color][color=#007700]([/color][color=#0000bb]onclicklistener listener[/color][color=#007700]) { [/color][color=#0000bb]mtitleview[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700]([/color][color=#0000bb]listener[/color][color=#007700]); } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { final [/color][color=#0000bb]object tag [/color][color=#007700]= [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]gettag[/color][color=#007700](); if ([/color][color=#0000bb]tag [/color][color=#007700]instanceof [/color][color=#0000bb]action[/color][color=#007700]) { final [/color][color=#0000bb]action action [/color][color=#007700]= ([/color][color=#0000bb]action[/color][color=#007700]) [/color][color=#0000bb]tag[/color][color=#007700]; [/color][color=#0000bb]action[/color][color=#007700].[/color][color=#0000bb]performaction[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700]); } } public [/color][color=#0000bb]void addactions[/color][color=#007700]([/color][color=#0000bb]destination urledlist[/color][color=#007700]<[/color][color=#0000bb]action[/color][color=#007700]> [/color][color=#0000bb]actionlist[/color][color=#007700]) { [/color][color=#0000bb]int actions [/color][color=#007700]= [/color][color=#0000bb]actionlist[/color][color=#007700].[/color][color=#0000bb]size[/color][color=#007700](); for ([/color][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]actions[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]++) { [/color][color=#0000bb]addaction[/color][color=#007700]([/color][color=#0000bb]actionlist[/color][color=#007700].[/color][color=#0000bb]get[/color][color=#007700]([/color][color=#0000bb]i[/color][color=#007700])); } } public [/color][color=#0000bb]void addaction[/color][color=#007700]([/color][color=#0000bb]action action[/color][color=#007700]) { final [/color][color=#0000bb]int index [/color][color=#007700]= [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]getchildcount[/color][color=#007700](); [/color][color=#0000bb]addaction[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700], [/color][color=#0000bb]index[/color][color=#007700]); } public [/color][color=#0000bb]void addaction[/color][color=#007700]([/color][color=#0000bb]action action[/color][color=#007700], [/color][color=#0000bb]int index[/color][color=#007700]) { [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]addview[/color][color=#007700]([/color][color=#0000bb]inflateaction[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700]), [/color][color=#0000bb]index[/color][color=#007700]); } public [/color][color=#0000bb]void removeallactions[/color][color=#007700]() { [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]removeallviews[/color][color=#007700](); } public [/color][color=#0000bb]void removeactionat[/color][color=#007700]([/color][color=#0000bb]int index[/color][color=#007700]) { [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]removeviewat[/color][color=#007700]([/color][color=#0000bb]index[/color][color=#007700]); } public [/color][color=#0000bb]void removeaction[/color][color=#007700]([/color][color=#0000bb]action action[/color][color=#007700]) { [/color][color=#0000bb]int childcount [/color][color=#007700]= [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]getchildcount[/color][color=#007700](); for ([/color][color=#0000bb]int i [/color][color=#007700]= [/color][color=#0000bb]0[/color][color=#007700]; [/color][color=#0000bb]i [/color][color=#007700]< [/color][color=#0000bb]childcount[/color][color=#007700]; [/color][color=#0000bb]i[/color][color=#007700]++) { [/color][color=#0000bb]view view [/color][color=#007700]= [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]getchildat[/color][color=#007700]([/color][color=#0000bb]i[/color][color=#007700]); if ([/color][color=#0000bb]view [/color][color=#007700]!= [/color][color=#0000bb]null[/color][color=#007700]) { final [/color][color=#0000bb]object tag [/color][color=#007700]= [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]gettag[/color][color=#007700](); if ([/color][color=#0000bb]tag [/color][color=#007700]instanceof [/color][color=#0000bb]action [/color][color=#007700]&& [/color][color=#0000bb]tag[/color][color=#007700].[/color][color=#0000bb]equals[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700])) { [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]removeview[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700]); } } } } public [/color][color=#0000bb]int getactioncount[/color][color=#007700]() { return [/color][color=#0000bb]mactionsview[/color][color=#007700].[/color][color=#0000bb]getchildcount[/color][color=#007700](); } private [/color][color=#0000bb]view inflateaction[/color][color=#007700]([/color][color=#0000bb]action action[/color][color=#007700]) { [/color][color=#0000bb]view view [/color][color=#007700]= [/color][color=#0000bb]minflater[/color][color=#007700].[/color][color=#0000bb]inflate[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]actionbar_item[/color][color=#007700], [/color][color=#0000bb]mactionsview[/color][color=#007700], [/color][color=#0000bb]false[/color][color=#007700]); [/color][color=#0000bb]imagebutton labelview [/color][color=#007700]= ([/color][color=#0000bb]imagebutton[/color][color=#007700]) [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar_item[/color][color=#007700]); [/color][color=#0000bb]labelview[/color][color=#007700].[/color][color=#0000bb]setimageresource[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700].[/color][color=#0000bb]getdrawable[/color][color=#007700]()); [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]settag[/color][color=#007700]([/color][color=#0000bb]action[/color][color=#007700]); [/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700]); return [/color][color=#0000bb]view[/color][color=#007700]; } public interface [/color][color=#0000bb]action [/color][color=#007700]{ public [/color][color=#0000bb]int getdrawable[/color][color=#007700](); public [/color][color=#0000bb]void performaction[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]); } public static abstract class [/color][color=#0000bb]abstractaction [/color][color=#007700]implements [/color][color=#0000bb]action [/color][color=#007700]{ final private [/color][color=#0000bb]int mdrawable[/color][color=#007700]; public [/color][color=#0000bb]abstractaction[/color][color=#007700]([/color][color=#0000bb]int drawable[/color][color=#007700]) { [/color][color=#0000bb]mdrawable [/color][color=#007700]= [/color][color=#0000bb]drawable[/color][color=#007700]; } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]int getdrawable[/color][color=#007700]() { return [/color][color=#0000bb]mdrawable[/color][color=#007700]; } } public static class [/color][color=#0000bb]intentaction [/color][color=#007700]extends [/color][color=#0000bb]abstractaction [/color][color=#007700]{ private [/color][color=#0000bb]context mcontext[/color][color=#007700]; private [/color][color=#0000bb]intent mintent[/color][color=#007700]; public [/color][color=#0000bb]intentaction[/color][color=#007700]([/color][color=#0000bb]context context[/color][color=#007700], [/color][color=#0000bb]intent intent[/color][color=#007700], [/color][color=#0000bb]int drawable[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700]([/color][color=#0000bb]drawable[/color][color=#007700]); [/color][color=#0000bb]mcontext [/color][color=#007700]= [/color][color=#0000bb]context[/color][color=#007700]; [/color][color=#0000bb]mintent [/color][color=#007700]= [/color][color=#0000bb]intent[/color][color=#007700]; } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void performaction[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { try { [/color][color=#0000bb]mcontext[/color][color=#007700].[/color][color=#0000bb]startactivity[/color][color=#007700]([/color][color=#0000bb]mintent[/color][color=#007700]); } catch ([/color][color=#0000bb]activitynotfoundexception e[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]mcontext[/color][color=#007700], [/color][color=#0000bb]mcontext[/color][color=#007700].[/color][color=#0000bb]gettext[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]string[/color][color=#007700].[/color][color=#0000bb]actionbar_activity_not_found[/color][color=#007700]), [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } } } }[/color]
- mainactivity.java
Mã nguồn PHP:
[color=#000000]
package android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700]; [/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]onclicklistener[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700].[/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]action[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700].[/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]intentaction[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]button[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]toast[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]context[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]intent[/color][color=#007700]; public class [/color][color=#0000bb]mainactivity [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{ @[/color][color=#0000bb]override [/color][color=#007700]protected [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]); [/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]activity_main[/color][color=#007700]); final [/color][color=#0000bb]myactionbar myactionbar [/color][color=#007700]= ([/color][color=#0000bb]myactionbar[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar[/color][color=#007700]); [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]settitle[/color][color=#007700]([/color][color=#dd0000]"thanhlong90.it - thanhlong90.it"[/color][color=#007700]); final [/color][color=#0000bb]action shareaction [/color][color=#007700]= new [/color][color=#0000bb]intentaction[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700], [/color][color=#0000bb]createshareintent[/color][color=#007700](), [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_title_share_default[/color][color=#007700]); [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]addaction[/color][color=#007700]([/color][color=#0000bb]shareaction[/color][color=#007700]); final [/color][color=#0000bb]action otheraction [/color][color=#007700]= new [/color][color=#0000bb]intentaction[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700], new [/color][color=#0000bb]intent[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700], [/color][color=#0000bb]activity2[/color][color=#007700].class), [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_title_export_default[/color][color=#007700]); [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]addaction[/color][color=#007700]([/color][color=#0000bb]otheraction[/color][color=#007700]); [/color][color=#0000bb]button startprogress [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]start_progress[/color][color=#007700]); [/color][color=#0000bb]startprogress[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]setprogressbarvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]visible[/color][color=#007700]); } }); [/color][color=#0000bb]button stopprogress [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]stop_progress[/color][color=#007700]); [/color][color=#0000bb]stopprogress[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view v[/color][color=#007700]) { [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]setprogressbarvisibility[/color][color=#007700]([/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]gone[/color][color=#007700]); } }); [/color][color=#0000bb]button removeactions [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]remove_actions[/color][color=#007700]); [/color][color=#0000bb]removeactions[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]removeallactions[/color][color=#007700](); } }); [/color][color=#0000bb]button addaction [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]add_action[/color][color=#007700]); [/color][color=#0000bb]addaction[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]addaction[/color][color=#007700](new [/color][color=#0000bb]android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700].[/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]action[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void performaction[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]mainactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700], [/color][color=#dd0000]"added action."[/color][color=#007700], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]int getdrawable[/color][color=#007700]() { return [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_title_share_default[/color][color=#007700]; } }); } }); [/color][color=#0000bb]button removeaction [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]remove_action[/color][color=#007700]); [/color][color=#0000bb]removeaction[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { [/color][color=#0000bb]int actioncount [/color][color=#007700]= [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]getactioncount[/color][color=#007700](); [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]removeactionat[/color][color=#007700]([/color][color=#0000bb]actioncount [/color][color=#007700]- [/color][color=#0000bb]1[/color][color=#007700]); [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]mainactivity[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700], [/color][color=#dd0000]"removed action."[/color][color=#007700], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } }); [/color][color=#0000bb]button removeshareaction [/color][color=#007700]= ([/color][color=#0000bb]button[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]remove_share_action[/color][color=#007700]); [/color][color=#0000bb]removeshareaction[/color][color=#007700].[/color][color=#0000bb]setonclicklistener[/color][color=#007700](new [/color][color=#0000bb]onclicklistener[/color][color=#007700]() { @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void onclick[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { [/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]removeaction[/color][color=#007700]([/color][color=#0000bb]shareaction[/color][color=#007700]); } }); } public static [/color][color=#0000bb]intent createintent[/color][color=#007700]([/color][color=#0000bb]context context[/color][color=#007700]) { [/color][color=#0000bb]intent i [/color][color=#007700]= new [/color][color=#0000bb]intent[/color][color=#007700]([/color][color=#0000bb]context[/color][color=#007700], [/color][color=#0000bb]mainactivity[/color][color=#007700].class); [/color][color=#0000bb]i[/color][color=#007700].[/color][color=#0000bb]addflags[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]flag_activity_clear_top[/color][color=#007700]); return [/color][color=#0000bb]i[/color][color=#007700]; } private [/color][color=#0000bb]intent createshareintent[/color][color=#007700]() { final [/color][color=#0000bb]intent intent [/color][color=#007700]= new [/color][color=#0000bb]intent[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]action_send[/color][color=#007700]); [/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]settype[/color][color=#007700]([/color][color=#dd0000]"text/plain"[/color][color=#007700]); [/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]putextra[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]extra_text[/color][color=#007700], [/color][color=#dd0000]"shared from the actionbar widget."[/color][color=#007700]); return [/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]createchooser[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700], [/color][color=#dd0000]"share"[/color][color=#007700]); }}[/color]
- activity2.java
Mã nguồn PHP:
[color=#000000]
package android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700]; [/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]content[/color][color=#007700].[/color][color=#0000bb]intent[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700].[/color][color=#0000bb]view[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700].[/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]abstractaction[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]vn[/color][color=#007700].[/color][color=#0000bb]demoandroidactionbar[/color][color=#007700].[/color][color=#0000bb]myactionbar[/color][color=#007700].[/color][color=#0000bb]intentaction[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]toast[/color][color=#007700]; public class [/color][color=#0000bb]activity2 [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{ @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]); [/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]activity_activity2[/color][color=#007700]); [/color][color=#0000bb]myactionbar actionbar [/color][color=#007700]= ([/color][color=#0000bb]myactionbar[/color][color=#007700]) [/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]actionbar[/color][color=#007700]); [/color][color=#0000bb]actionbar[/color][color=#007700].[/color][color=#0000bb]sethomeaction[/color][color=#007700](new [/color][color=#0000bb]intentaction[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700], [/color][color=#0000bb]mainactivity[/color][color=#007700].[/color][color=#0000bb]createintent[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700]), [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_title_home_default[/color][color=#007700])); [/color][color=#0000bb]actionbar[/color][color=#007700].[/color][color=#0000bb]setdisplayhomeasupenabled[/color][color=#007700]([/color][color=#0000bb]true[/color][color=#007700]); [/color][color=#0000bb]actionbar[/color][color=#007700].[/color][color=#0000bb]addaction[/color][color=#007700](new [/color][color=#0000bb]intentaction[/color][color=#007700]([/color][color=#0000bb]this[/color][color=#007700], [/color][color=#0000bb]createshareintent[/color][color=#007700](), [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_title_share_default[/color][color=#007700])); [/color][color=#0000bb]actionbar[/color][color=#007700].[/color][color=#0000bb]addaction[/color][color=#007700](new [/color][color=#0000bb]exampleaction[/color][color=#007700]()); [/color][color=#0000bb]actionbar[/color][color=#007700].[/color][color=#0000bb]settitle[/color][color=#007700]([/color][color=#dd0000]"activity thứ 2"[/color][color=#007700]); } private [/color][color=#0000bb]intent createshareintent[/color][color=#007700]() { final [/color][color=#0000bb]intent intent [/color][color=#007700]= new [/color][color=#0000bb]intent[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]action_send[/color][color=#007700]); [/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]settype[/color][color=#007700]([/color][color=#dd0000]"text/plain"[/color][color=#007700]); [/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]putextra[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]extra_text[/color][color=#007700], [/color][color=#dd0000]"shared from the actionbar widget."[/color][color=#007700]); return [/color][color=#0000bb]intent[/color][color=#007700].[/color][color=#0000bb]createchooser[/color][color=#007700]([/color][color=#0000bb]intent[/color][color=#007700], [/color][color=#dd0000]"share"[/color][color=#007700]); } private class [/color][color=#0000bb]exampleaction [/color][color=#007700]extends [/color][color=#0000bb]abstractaction [/color][color=#007700]{ public [/color][color=#0000bb]exampleaction[/color][color=#007700]() { [/color][color=#0000bb]super[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_title_export_default[/color][color=#007700]); } @[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void performaction[/color][color=#007700]([/color][color=#0000bb]view view[/color][color=#007700]) { [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]maketext[/color][color=#007700]([/color][color=#0000bb]activity2[/color][color=#007700].[/color][color=#0000bb]this[/color][color=#007700], [/color][color=#dd0000]"hiển thị toast!"[/color][color=#007700], [/color][color=#0000bb]toast[/color][color=#007700].[/color][color=#0000bb]length_short[/color][color=#007700]).[/color][color=#0000bb]show[/color][color=#007700](); } } }[/color]
- và còn nhiều tập tin xml, activity cũng như androidmenifest ... các bạn download source về xem nhé
bài viết đăng lên diễn đàn khác vui lòng ghi rõ nguồn: android.vn
pass giải nén: http://android.vn
support: thanhlong90.it@gmail.com
Ngọc Bích xanh thực chất thuộc dòng đá cẩm thạch (jade). Và đá hoa là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc...
Chia sẻ Vòng tay ngọc bích xanh là gì? (13) Có lợi ích gì cho sức khỏe