ImageView के अंदर पृष्ठभूमि रोटेशन (Android स्टूडियो - जावा)

Sep 26 2020

मैं Android एप्लिकेशन विकसित करने का प्रयास कर रहा हूं। हालांकि, मुझे एक मुद्दे का सामना करना पड़ा और यह है कि मैं रंगीन स्क्वायर बैकग्राउंड 360 डिग्री को घुमाना चाहता हूं । यह एनीमेशन इफेक्ट होने वाला है। लगातार घुमाएं। क्या यह संभव है?

मैंने देखने की कोशिश की। अंतरंग ()। रोटेट () लेकिन निश्चित रूप से, यह इमेजव्यू को घुमाता है। मैं सिर्फ इमेजव्यू में बैकग्राउंड ड्रॉबल को घुमाना चाहता हूं।

मेरा लक्ष्य

गतिविधि लेआउट

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@drawable/border"
    android:contentDescription="@string/todo"
    android:cropToPadding="true"
    android:padding="10dp"
    android:scaleType="centerCrop"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent />
</androidx.constraintlayout.widget.ConstraintLayout>

पृष्ठभूमि (@ drawable / सीमा)

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
    android:angle="270"
    android:endColor="@color/colorYellowGreen"
    android:type="linear"
    android:centerColor="@color/colorBlue"
    android:startColor="@color/colorPink" />

<corners android:radius="5dp" />

जवाब

SnefruClone Oct 10 2020 at 08:10

मैंने एनीमेशन-सूची में रोटेट टैग का उपयोग किया।

<?xml version="1.0" encoding="utf-8"?>
<animation-list 
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:duration="3000">
    <rotate
        android:fromDegrees="90"
        android:toDegrees="180"
        android:drawable="@drawable/border"
        android:pivotY="50%"
        android:pivotX="50%"/>
</item>
<item
    android:duration="3000">
    <rotate
        android:fromDegrees="180"
        android:toDegrees="270"
        android:drawable="@drawable/border"
        android:pivotY="50%"
        android:pivotX="50%"/>
</item>
<item
    android:duration="3000">
    <rotate
        android:fromDegrees="270"
        android:toDegrees="360"
        android:drawable="@drawable/border"
        android:pivotY="50%"
        android:pivotX="50%"/>
</item>
<item
    android:duration="3000">
    <rotate
        android:fromDegrees="0"
        android:toDegrees="90"
        android:drawable="@drawable/border"
        android:pivotY="50%"
        android:pivotX="50%"/>
</item>

</animation-list>

उपरोक्त कोड वैकल्पिक हो सकता है लेकिन यह लगातार घूमने के लिए सबसे महत्वपूर्ण हिस्सा है

AnimationDrawable animationDrawable =
(AnimationDrawable) mQRImage.getBackground();
animationDrawable.setExitFadeDuration(3000);
animationDrawable.start();