android设计实现窗体启动时,显示一个水平进度条,当进行完成后,隐藏该进度条,并显示一张图片
2017-09-24 18:01
746 查看
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ProgressBar pb = (ProgressBar) findViewById(R.id.pb1); final TextView tv = (TextView) findViewById(R.id.tv); final ImageView iv = (ImageView) findViewById(R.id.iv); pb.setMax(100); pb.setProgress(0); new Thread() { public void run() { // 模拟耗时任务 int index = 0; while (index++ < 200) { try { Thread.sleep((int) (Math.random() * 200)); } catch (InterruptedException e) { e.printStackTrace(); } // 修改值 // 做了UI的处理,所以直接可以再子线程中修改UI pb.setProgress(index); // 需要使用UI线程 runOnUiThread(new Runnable() { @Override public void run() { tv.setText(pb.getProgress() + "/" + pb.getMax()); } }); } runOnUiThread(new Runnable() { public void run() { pb.setVisibility(ProgressBar.GONE);//设置ProgressBar隐藏 tv.setVisibility(TextView.INVISIBLE);//设置TextView隐藏 iv.setVisibility(TextView.VISIBLE);//显示图片 } }); }; }.start(); } }
xml的设计如下
<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" tools:context="com.xykj.id05_10_11work7.MainActivity" > <ProgressBar android:id="@+id/pb1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" /> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@id/pb1" android:layout_below="@id/pb1" android:text="0/100" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/img01" android:id="@+id/iv" android:visibility="invisible" /> </RelativeLayout>
需要注意的是开启线程的时候要符合android系统的规定
相关文章推荐
- android设计 实现窗体启动时,显示一个水平进度条,当进行完成后,隐藏该进度条,并显示一张图 片。
- C#--第11周实验--任务3--设计一个窗体,窗体上有两个文本框,一个按钮,2个单选按钮--实现单击按钮后,根据单选按钮,将对应文本框中内容显示在标签。
- Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示
- js实现朝一个方向不间断的图片滚动,这是不能实现的(即最后一张图片跑完后紧接着进行第一张图片)
- 我们的应用或多或少都会从网络获取图片数据然后进行显示,下面就将实现一个这样的例子,获取网络中的图片!
- Android进行短信备份的一个工具类,支持进度条显示
- android一个向上滑动显示菜单,向下滑动隐藏菜单实现
- Android 实现在屏幕左上方显示一个图片
- android 点击一个按钮,选择一张图片,获取路径,然后显示在屏幕
- Android中从网上下载一张图片显示进度并显示下载好的图片
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——1.4 用OpenGL ES 2.0显示一张图片(下)
- android中实现从一个图片中截取一部分,在翻转,成一个圆形显示
- android 实现图片旋转,移动,缩放,并且记录变化值,用另外一张图片显示出来
- android异步下载图片并显示水平进度条
- Android 下载显示网络图片 实现直接使用类似setimage的方法来完成
- android自定义View实现图片上传进度显示(仿手机QQ上传效果)
- 设计一个窗体,该窗体显示一副图片,并使用ToolTip显示提示
- android实现下载图片在(Notification)通知栏上显示进度。
- android自定义View实现图片上传进度显示(仿手机QQ上传效果)
- C#Winform实现程序关闭隐藏窗体,二次程序启动时显示