0

В моем следующем проекте я хочу, чтобы эффект кнопки или анимация понравился, когда пользователь нажимал кнопку или перетаскивал кнопку.Эффекты и анимация кнопок Android

У меня слишком много исследований, но я ничего не нашел.

Я хочу, чтобы эффект кнопки выглядел следующим образом.

enter image description here

Пожалуйста, помогите мне решить эту проблему.

Заранее спасибо.

+3

Не совсем понятно, что вы просите. Пожалуйста, дополните. – natario

+1

@mvai спасибо за ответ. Мне нужна фоновая анимация кнопок, как показано на рис., Когда пользователь нажимает на любую часть кнопки, чтобы вся строка двигалась так, как в кнопке. –

+0

@mvai, вся строка должна перемещаться только на той стороне, где пользователь нажимает любую часть кнопки или перетаскивает ее. –

ответ

4

Для создания анимации похожий на ваш, например, вы, безусловно, необходимо реализовать пользовательские анимации. Найти подробности здесь:

https://developer.android.com/training/material/animations.html

Также вы должны обязательно проверить наличие существующих библиотек, которые могут imlement подобных эффектов. Nice библиотеки источник:

https://android-arsenal.com/tag/13

+0

спасибо @ Иван, ок, позвольте мне проверить, и я постараюсь реализовать это –

2

Я думаю, вы должны использовать «FrameLayout» интерактивный, а также внутри него использования ImageView и затем вы легко анимировать изображение.

Структура

<FrameLayout 
//set the properties + must set clickable property 
> 
    <ImageView 
    // Set the required property 
    /> 
</FrameLayout> 

Затем установите кнопку слушателем framelayout и где вам нужно анимировать ImageView внутри .java файл.

Создать animatation XML в папке Anim

my_anim.xml

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

затем вызвать это .java файл с ImageView , как приведено ниже для плавного поворота изображения.

Animation a = AnimationUtils.loadAnimation(getActivity(), R.anim.my_anim); 

      a.setDuration(1000); 

      myImageView.startAnimation(a); 


      a.setInterpolator(new Interpolator() { 

       private final int frameCount = 50; 

       @Override 
       public float getInterpolation(float input) { 

        return (float) Math.floor(input * frameCount)/frameCount; 

       } 
      }); 
+0

, но как я анимирую изображение, как показано на изображении выше. Пожалуйста, дайте пример кода –

+0

@KalpeshRajai. Я отредактировал свой ответ, теперь вы понимаете, как он работает вы можете изменить значения переменных в соответствии с вашими потребностями. счастливое развитие. :) –

Смежные вопросы