常用屬性
xmlstyle="?android:attr/progressBarStyleHorizontal
常用方法
實例
先來看一張圖片,四種常見的進度條
要將style 屬性 設置 為 橫向 ,只有將 style設置為橫向 進度值和最大值才有效
style="?android:attr/progressBarStyleHorizontal"
控件定義
<ProgressBar
android:id="@+id/progressorigin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:max="10"
android:progress="3"
android:secondaryProgress="4"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/add"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="增加"/>
<Button
android:id="@+id/sub"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="減少"/>
</LinearLayout>
通過按鈕控制 進度值
package com.sky.mxc.android.example;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
public class TestProgressActivity extends AppCompatActivity {
private ProgressBar pbOrigin = null;
private Button btAdd = null;
private Button btSub = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_progress);
pbOrigin= (ProgressBar) findViewById(R.id.progressorigin);
btAdd = (Button) findViewById(R.id.add);
btSub = (Button) findViewById(R.id.sub);
btAdd.setOnClickListener(onClickListener);
btSub.setOnClickListener(onClickListener);
}
//button監聽
private View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.add:
//設置進度值
pbOrigin.setProgress(pbOrigin.getProgress()+1);
break;
case R.id.sub:
//設置進度值
pbOrigin.setProgress(pbOrigin.getProgress()-1);
break;
}
//設置第二進度值
pbOrigin.setSecondaryProgress(pbOrigin.getProgress()+1);
Log.i("Tag","進度值:"+ pbOrigin.getProgress());
Log.i("Tag","第二進度值:"+ pbOrigin.getSecondaryProgress());
}
};
}
一般定義出來 之后不設置 style屬性 就是不知道進度值的狀態會是一個 一致在轉的圈圈 就是圖中的第三個 效果
第二種效果 是 將 style屬性設置為 橫向 再將 Indicator 屬性設置為true即可
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
style="?android:attr/progressBarStyleHorizontal"/>
首先在drawable 資源目錄下定義一個 drawable文件 根節點 是 layer-list
設置ProgressBar的 progressDrawable屬性值
drawable資源文件 順序不可顛倒 否則會覆蓋
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:drawable="@mipmap/progressbackground"></item>
<item android:id="@android:id/secondaryProgress" android:drawable="@mipmap/progresssecnd"></item>
<item android:id="@android:id/progress" android:drawable="@mipmap/progress0"></item>
</layer-list>
設置 progressDrawable 屬性(只有將 style 設置為橫向才有效)
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="10"
android:progress="3"
android:secondaryProgress="5"
android:minHeight="4dp"
android:maxWidth="4dp"
android:progressDrawable="@drawable/progress_drawabale"
style="?android:attr/progressBarStyleHorizontal"/>
這些就是 ProgressBar的基本使用了。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。