Перейти к содержимому
Меню
  • Java SE
  • Android
  • Поиск
  • Java SE
  • Android

JAVA-HELP

Сайт для Java разработчиков

Android Process Button — кнопка с прогрессбаром

Наткнулся на довольно необычную библиотеку, объединяющую кнопку и прогрессбар в одном View. На выбор нам дается три вида кнопки:

  • ActionProcessButton
  • GenerateProcessButton
  • SubmitProcessButton

Все View-компоненты описанные выше наследуются от класса ProcessButton.

ActionProcessButton

main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:custom="http://schemas.android.com/apk/res-auto"
	android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
	<com.dd.processbutton.iml.ActionProcessButton
		android:id="@+id/btnSignInAPB"
		android:layout_width="match_parent"
		android:layout_height="48dp"
		android:layout_marginBottom="16dp"
		android:text="Войти"
		android:textColor="#fffffe"
		android:textSize="18sp"
		custom:pb_colorComplete="@color/green_complete"
		custom:pb_colorNormal="@color/blue_normal"
		custom:pb_colorPressed="@color/blue_pressed"
		custom:pb_colorProgress="@color/purple_progress"
		custom:pb_textComplete="Авторизован"
		custom:pb_textProgress="Авторизуемся…">
</LinearLayout>

Разберем атрибуты с префиксом custom:

pb_colorNormal — цвет кнопки в обычном состоянии

pb_colorPressed — цвет кнопки в обычно состоянии

pb_colorProgress — цвет прогрессбара

pb_textProgress — текст, отображающийся при загрузке

pb_colorComplete — текст, отображающийся после завершения загрузки

MainActivity.java:

ActionProcessButton btnSignIn = (ActionProcessButton) findViewById(R.id.btnSignInAPB); btnSignIn.setMode(ActionProcessButton.Mode.PROGRESS);

В методе setMode мы указываем тип загрузки. Всего доступно два типа: PROGRESS и ENDLESS. По умолчанию установлен ENDLESS.

GenerateProcessButton

main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:custom="http://schemas.android.com/apk/res-auto"
	android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <com.dd.processbutton.iml.GenerateProcessButton
        android:id="@+id/btnUpload"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:text="Загрузить"
        android:textColor="@android:color/white"
        android:textSize="18sp"
        custom:pb_textComplete="Загружено"
        custom:pb_textProgress="Загрузка…">
</LinearLayout>

MainActivity.java:

GenerateProcessButton btnUpload = (GenerateProcessButton) findViewById(R.id.btnUpload);
SubmitProcessButton

main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	xmlns:custom="http://schemas.android.com/apk/res-auto"
	android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <com.dd.processbutton.iml.SubmitProcessButton
        android:id="@+id/btnSend"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:minWidth="100dp"
        android:text="Отправить"
        android:textColor="@android:color/white"
        android:textSize="18sp"
        custom:pb_textComplete="Готово"
        custom:pb_textProgress="Загрузка…">
</LinearLayout>

MainActivity.java:

SubmitProcessButton btnSend = (SubmitProcessButton) findViewById(R.id.btnSend);

Библиотека на GitHub: ProcessButton.
Исходники примера: ProcessButton.

Категории
  • Android
  • Android-библиотеки
Предыдущая заметка

Работа с GoogleMaps

Следующая заметка

ViewPagerIndicator — индикатор для ViewPager

Рубрики

  • Android
    • Android-библиотеки
    • Android-сниппеты
    • Material Design
    • Инструменты разработчика
    • Уроки Android
  • Java SE
    • Java-сниппеты
    • Изучение Java
    • Обзор Java-классов
    • Основы Java
  • Kotlin

Популярные записи

  • Загрузка изображений с помощью библиотеки Glide. Начало работы
  • Руководство по использованию ORM DBFlow в Android-приложении
  • Анимированный Toolbar: фичи Design Support Library
  • Я хочу программировать под Android. Вопрос #5
  • Используем ACRA в своем приложении

Copyright © 2020– JAVA-HELP. Все права защищены. Политика конфиденциальности