2016-09-27 39 views
0

我有一个倒计时的循环进度条。倒计时从循环进度条的顶部开始,没有问题,但是在倒计时前往左边。我想要的是倒计时的旋转向右移动,就像顺时针旋转一样。我怎样才能做到圆形倒计时顺时针?

我circle_progress_foreground.xml:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@android:id/progress"> 
     <shape 
      android:innerRadiusRatio="3" 
      android:shape="ring" 
      android:thicknessRatio="30" 
      android:useLevel="true"> 

      <gradient 
       android:startColor="@color/circle_progress_two" 
       android:endColor="@color/circle_progress" 
       android:type="sweep" /> 
     </shape> 
    </item> 
</layer-list> 

在我的布局进度

<ProgressBar 
      android:id="@+id/progressbar" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="280dip" 
      android:layout_height="290dip" 
      android:indeterminate="false" 
      android:progressDrawable="@drawable/circle_progress_foreground" 
      android:background="@drawable/circle_shape" 
      android:max="100" 
      android:rotation="-90" 
      android:layout_alignParentTop="true" 
      android:layout_alignLeft="@+id/progressBar" 
      android:layout_alignStart="@+id/progressBar" 
      android:layout_centerHorizontal="false" 
      android:layout_centerInParent="false" 
      android:layout_centerVertical="false" /> 

班里代码:

mProgressBar = (ProgressBar) findViewById(R.id.progressbar); 

回答

1

试试这个办法来设置旋转

c ircle_progress_foreground.xml

<?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:innerRadiusRatio="2.5" 
     android:shape="ring" 
     android:thickness="1dp" 
     android:useLevel="true"> 

     <gradient 
      android:angle="0" 
      android:endColor="#007DD6" 
      android:startColor="#007DD6" 
      android:type="sweep" 
      android:useLevel="false" /> 
    </shape> 
</rotate> 

circle_shape

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

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

</shape> 

进度

<ProgressBar 
     android:id="@+id/progressBar" 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     android:indeterminate="false" 
     android:progressDrawable="@drawable/circle_progress_foreground" 
     android:background="@drawable/circle_shape" 
     style="?android:attr/progressBarStyleHorizontal" 
     android:max="100" 
     android:progress="65" /> 
+0

还在做着旋转相反的方式顺时针方向。我想要以与顺时针方向相同的方式旋转 –

+0

我想知道什么? –

+0

嗨。如果使用你的代码,但是开始做倒计时不是按顺时针方向进行。正在从右侧向左旋转,我希望以与顺时针相同的方式从右向左旋转。现在我得到相反的轮换。 –