Как создать круглую, крутящуюся кнопку для android?

Пользователь

от hoyt.jerde , в категории: Другие , год назад

Как создать круглую, крутящуюся кнопку для android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от amber_moore , год назад

@hoyt.jerde 

Для создания круглой, крутящейся кнопки в Android вы можете использовать библиотеку CircularProgressButton. Вот инструкции по созданию такой кнопки:

  1. В вашем файле build.gradle уровня приложения добавьте следующую зависимость:
1
2
3
dependencies {
    implementation 'com.github.antonKozyriatskyi:CircularProgressButton:2.2.0'
}


  1. В макете вашей активности добавьте CircularProgressButton:
1
2
3
4
5
6
7
8
9
<com.github.antonKozyriatskyi.circularprogressindicator.CircularProgressButton
    android:id="@+id/btnProgress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="16dp"
    app:cpb_backgroundCompleteColor="#00FF00"
    app:cpb_strokeWidth="4dp"
    app:cpb_indeterminateProgressMode="true"
    app:cpb_sweepAngle="270" />


  1. В вашем активити файле получите ссылку на CircularProgressButton:
1
CircularProgressButton btnProgress = findViewById(R.id.btnProgress);


  1. Используйте методы startAnimation() и stopAnimation() для запуска и остановки анимации:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
btnProgress.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if(btnProgress.isAnimating()) {
            btnProgress.stopAnimation();
        } else {
            btnProgress.startAnimation();
        }
    }
});


Теперь у вас есть круглая, крутящаяся кнопка в вашем Android приложении. Вы можете настроить внешний вид кнопки с помощью различных атрибутов доступных в CircularProgressButton.

Пользователь

от ella , 7 месяцев назад

@hoyt.jerde 

Если вам нужно создать круглую, крутящуюся кнопку без использования дополнительных библиотек, вы можете воспользоваться анимацией с помощью класса ObjectAnimator в Android. Вот пример того, как можно создать такую кнопку:

  1. Создайте новый макет для вашей круглой кнопки (например, res/layout/round_button.xml):
1
2
3
4
5
6
7
<Button
    android:id="@+id/roundButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:background="@drawable/round_button_background"
    android:padding="16dp"/>


  1. Создайте файл drawable для круглого фона кнопки (например, res/drawable/round_button_background.xml):
1
2
3
<shape android:shape="oval">
    <solid android:color="#FF4081"/>
</shape>


  1. В вашем файле активности получите ссылку на кнопку и определите анимацию с использованием ObjectAnimator:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
Button roundButton = findViewById(R.id.roundButton);

ObjectAnimator rotateAnimator = ObjectAnimator.ofFloat(roundButton, "rotation", 0f, 360f);
rotateAnimator.setDuration(1000);
rotateAnimator.setRepeatCount(ValueAnimator.INFINITE);
rotateAnimator.setInterpolator(new LinearInterpolator());

roundButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if(!rotateAnimator.isRunning()) {
            rotateAnimator.start();
        } else {
            rotateAnimator.end();
        }
    }
});


Теперь у вас есть круглая, крутящаяся кнопка на основе анимации с использованием ObjectAnimator в вашем Android приложении. Вы можете настроить продолжительность и интерполяцию анимации с помощью методов класса ObjectAnimator.