Kết quả 1 đến 10 của 10
  1. #1
    Ngày tham gia
    Jul 2015
    Bài viết
    24

    Xây dựng và tủy chỉnh một ActionBar trong lập trình android

    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

  2. #2
    Ngày tham gia
    Mar 2014
    Bài viết
    0
    thanks for share

  3. #3
    Ngày tham gia
    Oct 2014
    Bài viết
    0
    sao mình k down đc source vậy?
    bạn xem lại link giúp mình với :d

  4. #4
    Ngày tham gia
    Jan 2015
    Bài viết
    0
    đã checks, links hoàn toàn bình thường!

  5. #5
    Ngày tham gia
    Jan 2015
    Bài viết
    0
    thanks

  6. #6
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    good

  7. #7
    Ngày tham gia
    Jun 2014
    Bài viết
    0
    a long xem lại e mấy source code vs,kích vào toàn k load đc

  8. #8
    Ngày tham gia
    Aug 2014
    Bài viết
    0
    bạn click vào nó sẽ hiện ra trang trung gian quảng cáo, đợi 5s rồi kích biểu tượng vàng vàng góc phía trên bên phải là nó nhảy qua trang mediafire, rồi click download nhé!

  9. #9
    Ngày tham gia
    Oct 2014
    Bài viết
    0
    trc down nhanh gọn,h fai load hơn chục lần mới đc

  10. #10
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    a thanhlong90.it cho e hỏi..sao nút action overflow không hiển thị trên 4.1 mà nó lại hiển thị đc trên 4.4 cả 2 hdh này đều hỗ trợ action overflow mà???

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •