Android Студия | Анимация кнопки при нажатии - PullRequest
0 голосов
/ 06 апреля 2020

Прежде всего, извините за любой плохой английский sh. (это не мой родной язык)

Я ищу анимацию для кнопки, которая нажмет go при нажатии.

это мой первый просмотр.

<LinearLayout 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"
    android:orientation="vertical"
    android:paddingStart="30dp"
    android:paddingTop="170dp"
    android:paddingEnd="30dp"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/login"
        android:onClick="login" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="register"
        android:text="@string/register"
        android:paddingTop="10dp" />

и когда я нажимаю на кнопки, другая исчезает (я знаю, как), и вид преобразуется во второй вид (ниже первого вида).

второй вид:

<LinearLayout 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"
    android:orientation="vertical"
    android:paddingStart="30dp"
    android:paddingTop="170dp"
    android:paddingEnd="30dp"
    tools:context=".MainActivity">

    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/text_input_email"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        app:errorEnabled="true">

        <com.google.android.material.textfield.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="@+string/email"
            android:inputType="textEmailAddress" />

    </com.google.android.material.textfield.TextInputLayout>


    <com.google.android.material.textfield.TextInputLayout
        android:id="@+id/text_input_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        app:errorEnabled="true"
        app:passwordToggleEnabled="true">


        <com.google.android.material.textfield.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="@+string/password"
            android:inputType="textPassword" />

    </com.google.android.material.textfield.TextInputLayout>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/login"
        android:onClick="login" />

Я также могу нарисовать его, если я не достаточно ясен.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 06 апреля 2020

вы можете использовать это:

создать файл ресурсов анимации с именем (click_anim. xml) в каталоге anim в res:

click_anim. xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

 <alpha
    android:fromAlpha = "1.0"
    android:toAlpha = "0.5"
    android:duration = "100">
 </alpha>
 <scale
    android:fromXScale = "1"
    android:toXScale = "0.9"
    android:fromYScale = "1"
    android:toYScale = "0.9"
    android:pivotX="50%"
    android:pivotY="50%"
    android:duration = "50">
 </scale>
</set>

теперь вы можете использовать эту анимацию для всех button, Textview или ... в ваших activity.

для кнопок, которые вы должны поместить в OnClickListener.

login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            login .startAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.click_anim));
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...