Бюджет: 2000 UAH Термін: 3 дні
Доброго дня, можу швидко та якісно виконати ваше замовлення.
Привіт!
Є сторінка з верхньою панеллю інструментів ConstraintLayout, всередині зліва Заголовок, справа редагування.
Потрібно посередині додати маленькі піктограми історій, які обтікають одна одну і мають спільну обводку.
Це в стані Collapsed.
Внизу є вертикальний RecyclerView.
При потягуванні вниз, потрібно, щоб скролл закінчився, потім, якщо ще раз потягнути вниз, історії розкривалися як у телеграмі. Нижче прикріплю файл.
Після того, як історії розкрилися (стан Expanded), між історіями повинно з'явитися відстань 16dp і обводки розділитися, у кожного своя обводка, враховуючи, скільки всередині контенту.
Але потрібно зробити без використання CoordinatorLayout або Compose, оскільки повинен бути xml і з MotionLayout.
Напишіть, будь ласка, терміни та вартість, якщо це реалізовано

Бюджет: 2000 UAH Термін: 3 дні
Доброго дня, можу швидко та якісно виконати ваше замовлення.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/motionLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:layoutDescription="@xml/activity_main_scene"> <!-- Внутрішній MotionLayout для анімацій всередині "Toolbar" --> <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="56dp" android:background="?colorPrimary"/> <ImageView android:id="@+id/stories_1" android:layout_width="0dp" android:layout_height="0dp" android:src="@drawable/ic_stor_1"/> <ImageView android:id="@+id/stories_2" android:layout_width="0dp" android:layout_height="0dp" android:src="@drawable/ic_stor_2" /> <!-- Нижня частина інтерфейсу (можливо, FrameLayout або RecyclerView) --> <FrameLayout android:id="@+id/frameLay" android:layout_width="match_parent" android:layout_height="0dp" android:background="@android:color/transparent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@id/toolbar" /> </androidx.constraintlayout.motion.widget.MotionLayout>
activity_main_scene.xml<?xml version="1.0" encoding="utf-8"?> <MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:motion="http://schemas.android.com/tools"> <Transition android:id="@+id/default_transition" app:constraintSetEnd="@+id/start" app:constraintSetStart="@+id/end" app:duration="300"> <OnSwipe motion:dragDirection="dragUp" motion:maxAcceleration="200" motion:touchRegionId="@id/frameLay" /> </Transition> <ConstraintSet android:id="@+id/start"> <!-- Ваші початкові налаштування --> <Constraint android:id="@+id/toolbar" android:layout_width="0dp" android:layout_height="56dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Constraint android:id="@+id/stories_1" android:layout_width="32dp" android:layout_height="32dp" android:layout_marginEnd="32dp" app:layout_constraintEnd_toEndOf="@id/toolbar" app:layout_constraintStart_toStartOf="@+id/toolbar" app:layout_constraintTop_toTopOf="@+id/toolbar" app:layout_constraintBottom_toBottomOf="@+id/toolbar"/> <Constraint android:id="@+id/stories_2" android:layout_width="32dp" android:layout_height="32dp" app:layout_constraintTop_toTopOf="@+id/toolbar" app:layout_constraintBottom_toBottomOf="@+id/toolbar" app:layout_constraintStart_toEndOf="@+id/stories_1" android:layout_marginStart="-16dp"/> </ConstraintSet> <ConstraintSet android:id="@+id/end"> <!-- Ваші кінцеві налаштування --> <Constraint android:id="@+id/toolbar" android:layout_width="0dp" android:layout_height="156dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <Constraint android:id="@+id/stories_1" android:layout_width="32dp" android:layout_height="32dp" android:layout_marginEnd="32dp" app:layout_constraintEnd_toEndOf="@id/toolbar" app:layout_constraintStart_toStartOf="@+id/toolbar" app:layout_constraintTop_toTopOf="@+id/toolbar" app:layout_constraintBottom_toBottomOf="@+id/toolbar"/> <Constraint android:id="@+id/stories_2" android:layout_width="32dp" android:layout_height="32dp" app:layout_constraintTop_toTopOf="@+id/toolbar" app:layout_constraintBottom_toBottomOf="@+id/toolbar" android:layout_marginStart="16dp" app:layout_constraintStart_toEndOf="@+id/stories_1"/> </ConstraintSet> </MotionScene>
package com.dimonbugor.motionlayoutapp;
import android.os.Bundle;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.motion.widget.MotionLayout;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.dimonbugor.motionlayoutapp.databinding.ActivityMainBinding;
public class MainActivity extends AppCompatActivity {
private ActivityMainBinding binding;
private MotionLayout outerMotionLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
outerMotionLayout = binding.motionLayout;
outerMotionLayout.setProgress(1);
// Додаємо TransitionListener до зовнішнього MotionLayout
outerMotionLayout.setTransitionListener(new MotionLayout.TransitionListener() {
@Override
public void onTransitionStarted(MotionLayout motionLayout, int startId, int endId) {
}
@Override
public void onTransitionChange(MotionLayout motionLayout, int startId, int endId, float progress) {
}
@Override
public void onTransitionCompleted(MotionLayout motionLayout, int currentId) {
}
@Override
public void onTransitionTrigger(MotionLayout motionLayout, int triggerId, boolean positive, float progress) {
// Не використовується в даному випадку
}
});
}
}
Добрий день. Для того щоб опублікувати додаток на гугл плей потрібно 20 тестувальників, які будуть його тестувати. Ви повинні встановити додаток, поклікати трохи і не видаляти його 14-15 днів. Завдання тестувальника: завантажити додаток на свій смартфон, зайти в нього кілька разів, понажимати кнопки, подивитися вкладки і НЕ ВИДАЛЯТИ ДОДАТОК 14 ДНІВ! Якщо ви або ваша команда готові протестувати, пишіть. Оновлення #1 від 05.07.2026 Нужно 20 тестировщикiв для тесту гри на google play . Вимога Google play. Гру не можна видаляти 20 днів інакше все скинуться і потрібно буде робити заново. Якщо у вас є команда з 20 пристроїв кидайте пропозиції. Завдання тестера: завантажити додаток собі на смартфон, зайти в нього пару раз, понажимати кнопки, подивитися вкладки і НЕ ВИДАЛЯТИ ДОДАТОК 14 ДНІВ!
Потрібна розробка простого Android-додатку Опис проекту Необхідно розробити максимально простий додаток для Android. Додаток складається всього з одного екрану і виконує одну функцію — приймає текстову команду і виводить заздалегідь задану відповідь. Ніякої складної логіки, серверної частини або підключення до інтернету не потрібно. Функціонал На головному екрані повинні бути: - поле введення тексту (в стилі командного рядка або терміналу); - кнопка «Ввести»; - область для відображення результату. Після натискання кнопки додаток порівнює введений текст зі списком заздалегідь заданих команд. Якщо команда знайдена — виводиться заздалегідь прописаний текст. Наприклад: - "help" → виводиться текст «Список доступних команд». - "about" → виводиться інформація про додаток. - "test" → виводиться «Тест виконано успішно». Якщо введена невідома команда — відображається повідомлення: ««Невідома команда.»» Кількість команд невелика (орієнтовно 5–10). Усі відповіді статичні і заздалегідь прописані в додатку. Що НЕ потрібно - інтернет; - сервер; - API; - база даних; - реєстрація та авторизація; - зберігання користувацьких даних; - кілька екранів; - складна логіка; - анімації; - push-сповіщення. Дизайн Потрібен акуратний сучасний інтерфейс у мінімалістичному стилі. Бажано використовувати темну тему. Без складних ефектів і анімацій. Вимоги - Додаток має працювати на максимально можливій кількості Android-пристроїв. - Сумісність з сучасними та більш старими версіями Android - Код має бути зрозумілим і придатним для подальшого редагування. Результат роботи Необхідно надати: - вихідний код проекту; - готовий APK для встановлення; - коротку інструкцію, де за необхідності можна змінити список команд і текст відповідей. При відповіді прошу вказати: - вартість; - терміни виконання; - на якій мінімальній версії Android буде працювати додаток.
Технічне завдання на розробку MVP мобільного застосунку MoveWayПро проєкт Я хочу створити мобільний застосунок MoveWay для міжнародних пасажирських перевезень мікроавтобусами (бусами) на 7–8 пасажирських місць. Основна ідея — створити платформу, яка об'єднає перевізників, що здійснюють міжнародні поїздки мікроавтобусами, та пасажирів в одному сервісі. Застосунок має дати можливість пасажирам швидко знайти поїздку, забронювати місце та оплатити його онлайн, а перевізникам — легко керувати своїми рейсами та бронюваннями.
Сам сайт повністю готовий, нічого розробляти з нуля не потрібно — необхідно просто якісно інтегрувати його в додаток. Найважливіша вимога — досвід саме з публікацією WebView-додатків в App Store. Тому, будь ласка, одразу в відповіді надішліть приклади ваших додатків, які вже опубліковані в App Store. Якщо є приклади і для Google Play — також можете надіслати, але в першу чергу цікавить саме App Store. Після завершення розробки потрібно буде опублікувати додатки в App Store і Google Play, щоб вони були доступні для скачування. Вартість в оголошенні вказана мінімальна — фінальну ціну і всі деталі обговоримо вже в особистій переписці. Якщо у вас є реальний досвід з такими проектами і ви розумієте вимоги App Store до WebView-додатків — пишіть, буду радий співпраці.
Потрібні тестувальники мобільних додатків Умови: - Потрібен телефон на базі Android - завантажити та встановити додаток - зробити скріншоти інтерфейсу - підкреслити всі недоліки програми Оплата за тестування програми провадиться після роботи