A button with a progress bar effect in Android, such as:
1. The layout file is as follows Activity_main.xml
1<relativelayout xmlns:android= "Http://schemas.android.com/apk/res/android"2Xmlns:tools= "Http://schemas.android.com/tools"3Android:layout_width= "Fill_parent"4android:layout_height= "Fill_parent"5android:paddingbottom= "@dimen/activity_vertical_margin"6android:paddingleft= "@dimen/activity_horizontal_margin"7android:paddingright= "@dimen/activity_horizontal_margin"8android:paddingtop= "@dimen/activity_vertical_margin"9Tools:context= ". Mainactivity ">Ten One<TextView AAndroid:id= "@+id/text" -Android:layout_width= "Wrap_content" -android:layout_height= "Wrap_content" theAndroid:text= "button with progress bar"/> - -<Relativelayout -Android:layout_width= "Fill_parent" +android:layout_height= "50DP" -Android:layout_centerhorizontal= "true" +Android:layout_centervertical= "true" Aandroid:gravity= "Bottom" > at -<ProgressBar -Android:id= "@+id/progressbar" -Style= "? Android:attr/progressbarstylehorizontal" -Android:layout_width= "Fill_parent" -android:layout_height= "Fill_parent" inandroid:background= "@drawable/aa_button_gray_normal" -android:max= "100" toandroid:progress= "0" +android:progressdrawable= "@drawable/progress_selector"/> - the<Button *Android:id= "@+id/downloadbtn" $Android:layout_width= "Fill_parent"Panax Notoginsengandroid:layout_height= "Fill_parent" -Android:layout_centerhorizontal= "true" theAndroid:layout_centervertical= "true" +android:background= "@drawable/btn_selector" Aandroid:text= "Download"/> the</RelativeLayout> + -</RelativeLayout>
The 2.java main interface code is as follows: Mainactivity.java
1 PackageCom.example.buttondemo;2 3 Importandroid.app.Activity;4 ImportAndroid.os.Bundle;5 ImportAndroid.os.Handler;6 ImportAndroid.os.Message;7 ImportAndroid.view.View;8 ImportAndroid.widget.Button;9 ImportAndroid.widget.ProgressBar;Ten ImportAndroid.widget.TextView; One A Public classMainactivityextendsActivity { - inti = 0; -ProgressBar ProgressBar =NULL; theButton downloadbtn =NULL; -Handler Handler =NewHandler () { - Public voidhandlemessage (android.os.Message msg) { - Switch(msg.what) { + Case1: -i + = 5; + progressbar.setprogress (i); A if(I! = 100) { atHandler.sendemptymessagedelayed (NewMessage (). What = 1, 500); -Downloadbtn.settext (i + "%")); -}Else if(i = = 100) { -Downloadbtn.settext ("Download Complete"); - //The button is available when the progress bar is finished running -Downloadbtn.setenabled (true); in } - Break; to + default: - Break; the } * }; $ };Panax Notoginseng - @Override the protected voidonCreate (Bundle savedinstancestate) { + Super. OnCreate (savedinstancestate); A Setcontentview (r.layout.activity_main); theTextView tx =(TextView) Findviewbyid (r.id.text); +ProgressBar =(ProgressBar) Findviewbyid (R.id.progressbar); -DOWNLOADBTN =(Button) Findviewbyid (R.ID.DOWNLOADBTN); $Downloadbtn.setonclicklistener (NewView.onclicklistener () { $ - @Override - Public voidOnClick (View v) { thei = 0; -Handler.sendemptymessage (NewMessage (). what = 1);Wuyi //progress bar Run-time button unavailable theDownloadbtn.setenabled (false); - } Wu }); - } About $}
buttons on Android with progress bar effect (button)