2017-01-09 83 views
0

我的麥克風圖標,然後周圍的麥克風圖標,我需要把進度條來處理一些正在運行的進程象下面這樣:如何製作風格寬大的android進度條?

<ImageView 
      android:id="@+id/iv_mic_movable" 
      android:layout_width="60dp" 
      android:layout_height="60dp" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginTop="68dp" 
      android:src="@drawable/record" /> 

     <ProgressBar 
      android:id="@+id/pb_assist" 
      style="?android:attr/progressBarStyleLarge" 
      android:layout_width="90dp" 
      android:layout_height="90dp" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginTop="53dp" 
      android:visibility="gone" /> 

上面的代碼顯示的UI如下:

enter image description here

我想顯示這樣的進度條,但是這個進度非常厚。如何使它只有1dp更薄一些?

+0

檢查https://github.com/lopspower/CircularProgressBar實現這一 – Shailesh

+0

檢查我的更新答案 – Noorul

回答

0

嘗試添加下面這樣的風格在你的XML progessBar佈局,

style="@android:style/Widget.ProgressBar.Large.Inverse" 

更新

嘗試添加該屬性:

android:progressDrawable="@android:drawable/progress_horizontal" 
+0

我試過,但它給了一些不同的進度條,然後我的要求。所以我嘗試了style =「?android:attr/progressBarStyleLargeInverse」。但結果是一樣的。我也嘗試設置固定的dp來包裝內容,但是進度條沒有完全圍繞圖像設置。 –

+0

我需要使進度條看起來更薄。它非常厚。 –

+0

所以你需要思考者在進度條上的進度。對? – Noorul

1

這是自ProgressBar。您可以設置形狀內的進度厚度。

<ProgressBar 
     style="?android:attr/progressBarStyleHorizontal" 
     android:layout_width="172dp" 
     android:layout_height="172dp" 
     android:indeterminate="false" 
     android:max="100" 
     android:visibility="visible" 
     android:progress="0" 
     android:layout_gravity="center_horizontal" //updated line 
     android:layout_marginTop="53dp"   //updated line 
     android:background="@drawable/circle_shape" 
     android:progressDrawable="@drawable/circle_progress_foreground" 
     /> 

circle_shape.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="ring" 
android:innerRadiusRatio="2.2" 
android:thickness="5dp" 
android:useLevel="false"> 

<solid android:color="#ABBAC2" /> 

</shape> 

circle_progress_foreground.xml

變化android:thickness按您的要求

<?xml version="1.0" encoding="utf-8"?> 
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromDegrees="270" 
android:toDegrees="270"> 

<shape android:useLevel="true" 
android:innerRadiusRatio="2.7" 
android:shape="ring" 
android:thickness="2dp" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
/> 
<solid android:color="#fbcb09"/> 
</shape> 
</rotate> 
+0

我試過你的代碼。結果不符合要求。進度未運行。它出現在最左邊的位置。 –

+0

這是一個想法,你可以像這樣實現。你必須改變'progressbar'的對齊方式。看更新答案! –

0

你可以還加入mimimum寬度和高度

<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="23dp" 
    android:layout_marginTop="20dp" 
    android:indeterminate="false" 
    android:max="100" 
    android:minHeight="5dp" 
    android:minWidth="200dp" 
    android:progress="1" />