仿猎豹扫描进度
布局:
<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" ><ImageViewandroid:id="@+id/back"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:src="@drawable/bbb" /><ImageViewandroid:id="@+id/forg"android:layout_width="wrap_content"android:layout_height="150dp"android:layout_alignTop="@+id/back"android:layout_centerHorizontal="true"android:scaleType="matrix"android:src="@drawable/aaa" /><ImageView android:id="@+id/saomiao"android:layout_below="@+id/forg"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/ccc"android:visibility="visible"android:layout_centerHorizontal="true"/><TextView android:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="20%"android:layout_centerHorizontal="true"android:layout_marginTop="10dp"android:textSize="25sp"android:layout_below="@+id/back"/></RelativeLayout>
邏輯代碼
package com.wlong.clean;import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.os.SystemClock; import android.view.View; import android.widget.RelativeLayout.LayoutParams; import android.widget.TextView;public class MainActivity extends Activity {private View forg;private View shade;private TextView percent;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);forg = findViewById(R.id.forg);shade = findViewById(R.id.saomiao);percent = (TextView) findViewById(R.id.text);startAnim();}private void startAnim(){new AsyncTask<Void, Integer, Void>(){private int h ;@Overrideprotected Void doInBackground(Void... arg0) {for (int i = 0; i < 100; i++) {SystemClock.sleep(45);this.publishProgress(i);}return null;}protected void onPreExecute() {h = forg.getLayoutParams().height;forg.setVisibility(View.VISIBLE);shade.setVisibility(View.VISIBLE);};protected void onProgressUpdate(Integer[] values) {int progress = values[0].intValue();int height = ((100-progress) * h)/100;LayoutParams lp = (LayoutParams) forg.getLayoutParams();lp.height = height;forg.setLayoutParams(lp);forg.invalidate();shade.invalidate();percent.setText(progress + "%");};protected void onPostExecute(Void result) {forg.setVisibility(View.GONE);shade.setVisibility(View.GONE);percent.setText(100 + "%");};}.execute();}}
總結(jié)
- 上一篇: wincc连接mysql数据库案例_WI
- 下一篇: 将form表单序列化成对象