视频直播app源码,实现进度条的自增长和颜色渐变
视频直播app源码,实现进度条的自增长和颜色渐变的相关代码
一、进度条自增长
activity_main.xml
csharp
<?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
csharp
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);
}
}
二、颜色随着渐变
csharp
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/progress">
<clip>
<shape>
<corners android:radius="5dp"/>
<gradient android:angle="0"
android:startColor="#33A72B"
android:endColor="#2C4EAD"/>
</shape>
</clip>
</item>
</layer-list>
以上就是 视频直播app源码,实现进度条的自增长和颜色渐变的相关代码,更多内容欢迎关注之后的文章