app直播源码,实现进度条自增长及渐变样式
上代码
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="实现进度条自增长" android:textSize="50dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="wrap_content" android:layout_height="72dp" android:layout_weight="1" android:max="100" android:progress="0" android:progressDrawable="@drawable/jdt" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="当前进度条值为:" android:textSize="50dp" /> </LinearLayout> </LinearLayout>
在UI界面上先设立一个水平的进度条和用于显示进度条值的TextView组件
代码LinearLayout中的weight用于显示比例
代码中水平进度条的 progressDrawable 用于设置进度条的渐变
MainActivity.java
package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.ProgressBar; import android.widget.TextView; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { ProgressBar progressBar; int i=0;//用于显示进度条的增长 TextView textView;//显示当前进度条的值 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressBar=findViewById(R.id.progressBar);//带入 textView=findViewById(R.id.textView2);//带入 final Timer timer=new Timer();//实例化,设置计时器 timer.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { @Override public void run() { i++;//自增长 textView.setText("当前进度条值为:"+i+"%");//用于显示当前进度条的值 if(i==100){ timer.cancel();//当i=100时停止 }else{ progressBar.setProgress(i);//否则随着i自增长 } } }); } },100,100); } }
以上就是app直播源码,实现进度条自增长及渐变样式, 更多内容欢迎关注之后的文章