2016-09-27 1 views
0

Ich habe einen kreisförmigen Fortschrittsbalken, der ein Countdown ist. Der Countdown beginnt am oberen Rand der kreisförmigen Fortschrittsleiste, das ist in Ordnung, aber gehen Sie nach links, um den Countdown zu machen. Das ich will, ist die Drehung des Countdowns nach rechts, wie im Uhrzeigersinn.Wie kann ich diesen kreisförmigen Countdown mit dem Uhrzeigersinn gehen?

Mein 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> 

Die progressbar in meinem Layout

<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" /> 

Der Code in meiner Klasse:

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

Antwort

1

auf diese Weise versuchen, Ihre Rotation zu versetzen

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

<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

Tut immer noch die Drehung in der entgegengesetzten Art und Weise, dass der im Uhrzeigersinn. Ich will das auf die gleiche Weise drehen, wie der Uhrzeigersinn –

+0

ich dich was bekommen? –

+0

Hallo. Wenn Sie Ihren Code bearbeiten, aber wenn Sie den Countdown ausführen, wird der Uhrzeigersinn nicht ausgeführt. Dreht sich von links nach rechts, und ich möchte, dass es sich genauso wie im Uhrzeigersinn nach rechts nach links dreht. Jetzt bekomme ich die entgegengesetzte Rotation. –

Verwandte Themen