2017-06-07 51 views
-2

ring design 我想要在我的android項目中設計和動畫。我不知道如何設計這個。我希望外環順時針旋轉,另一個反時鐘方向明智。我甚至不知道如何創建2個這樣的環。請幫我解決這個問題。微調控制器一個在另一個在android中

+0

分享您的形象在這裏。 –

+0

@Vidhidave已經做到了。請檢查 –

+1

https://stackoverflow.com/questions/27628390/circle-movements-clock-and-anti-clock-wise-android檢查這一個。 –

回答

1

試試這個:

XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 

    <ImageView 
     android:id="@+id/main_imageRight" 
     android:layout_width="550dp" 
     android:layout_height="550dp" 
     android:src="@drawable/ic_cached_black_24dp" 
     android:layout_marginBottom="104dp" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" /> 

    <ImageView 
     android:id="@+id/main_imageLeft" 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     android:src="@drawable/ic_cached_black_24dp" 
     android:layout_marginTop="139dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 


</RelativeLayout> 

動畫文件:

  1. left_circle.xml
<?xml version="1.0" encoding="utf-8"?> <rotate 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="0" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:repeatCount="infinite" 
    android:toDegrees="360" /> 
  • right_circle.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <rotate xmlns:android="http://schemas.android.com/apk/res/android" 
        android:fromDegrees="360" 
        android:pivotX="50%" 
        android:pivotY="50%" 
        android:repeatCount="infinite" 
        android:toDegrees="0" /> 
    
  • 的Java文件:

     mLLLeft = (ImageView) findViewById(R.id.main_imageLeft); 
         mImageRight = (ImageView) findViewById(R.id.main_imageRight); 
    
         Animation animRight = AnimationUtils.loadAnimation(this,R.anim.right_circle); 
         animRight.setDuration(5000); 
         mImageRight.startAnimation(animRight); 
    
         Animation animLeft = AnimationUtils.loadAnimation(this,R.anim.left_circle); 
         animLeft.setDuration(5000); 
         mLLLeft.startAnimation(animLeft); 
    
    +1

    非常感謝。它令人驚訝地工作。 –

    0

    嘗試這種方式,它的工作對我來說

    <RelativeLayout 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"> 
    
        <ProgressBar 
          android:id="@+id/progres" 
          android:layout_width="70dp" 
          android:layout_height="70dp" 
          android:indeterminateDrawable="@drawable/clockwise" /> 
    
    
        <ProgressBar 
          android:id="@+id/progres1" 
          android:layout_width="100dp" 
          android:layout_height="100dp" 
          android:indeterminateDrawable="@drawable/anti_clockwise" /> 
    
    </RelativeLayout> 
    

    clockwise.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <rotate xmlns:android="http://schemas.android.com/apk/res/android" 
        android:fromDegrees="0" 
        android:pivotX="50%" 
        android:pivotY="50%" 
        android:toDegrees="360" > 
    
        <shape 
         android:innerRadiusRatio="3" 
         android:shape="ring" 
         android:thicknessRatio="30" 
         android:useLevel="false" > 
         <size 
          android:height="76dip" 
          android:width="76dip" /> 
    
         <gradient 
          android:angle="0" 
          android:endColor="@color/Orange" 
          android:startColor="@color/transparent" 
          android:type="sweep" 
          android:useLevel="false" /> 
        </shape> 
    
    </rotate> 
    

    anti_clockwise.xml

    <?xml version="1.0" encoding="utf-8"?> 
    <rotate xmlns:android="http://schemas.android.com/apk/res/android" 
        android:fromDegrees="360" 
        android:pivotX="50%" 
        android:pivotY="50%" 
        android:toDegrees="0" > 
    
        <shape 
         android:innerRadiusRatio="3" 
         android:shape="ring" 
         android:thicknessRatio="30" 
         android:useLevel="false" > 
         <size 
          android:height="76dip" 
          android:width="76dip" /> 
    
         <gradient 
          android:angle="0" 
          android:endColor="@color/Orange" 
          android:startColor="@color/transparent" 
          android:type="sweep" 
          android:useLevel="false" /> 
        </shape> 
    
    </rotate> 
    
    +0

    這不是創建2個不同的戒指。這種效果只對一個環進行,我可以在外環內創建另一個環。現在嘗試 –

    +0

    ,我已經更新了我的答案。 –

    +0

    如果它有效,您可以投票選出並標記爲正確答案,這將有助於他人找到正確的答案。 –

    相關問題