先看效果图吧:
代码如下:
1. 主要布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/btn_popProgress"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginLeft="38dp"
android:layout_marginTop="40dp"
android:text="弹出进度条" />
</RelativeLayout>
2.进度条布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="wrap_content"
android:layout_height="66.0dip"
android:layout_gravity="center"
android:background="@drawable/dialog_bg" >
<ProgressBar
android:id="@+id/progress_custome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="13.0dip"
android:src="@anim/progress_anim" />
<TextView
android:id="@id/textView1"
style="@style/textView_size14_yahei"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="13.0dip"
android:text="加载中..." />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="13.0dip"
android:src="@drawable/progress_xian" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView_cancle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/progress_cancle" />
</RelativeLayout>
</LinearLayout>
3.drawable资源(进度条取消按钮背景选择器)
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/progress_cancle2" />
<item android:state_focused="true" android:drawable="@drawable/progress_cancle2" />
<item android:drawable="@drawable/progress_cancle1" />
</selector>
4. MainActivity代码:
package com.example.progressbaract;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener
{
Button popProgressBtn;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
popProgressBtn = (Button) this.findViewById(R.id.btn_popProgress);
popProgressBtn.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v)
{
Intent intent = new Intent();
intent.setClass(this, ProgressActivity.class);
startActivity(intent);
}
}
package com.example.progressbaract;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.ProgressBar;
public class ProgressActivity extends Activity implements OnClickListener
{
ImageView cancelBtn;
ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress);
initView();
}
private void initView()
{
cancelBtn = (ImageView)this.findViewById(R.id.imageView_cancle);
progressBar = (ProgressBar)this.findViewById(R.id.progress_custome);
cancelBtn.setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.progress, menu);
return true;
}
@Override
public void onClick(View v)
{
this.finish();
}
}
需求源代码的请到CSDN上去下载,下载路径为:
http://download.csdn.net/detail/tqtihihc/7600003