圆角半径的Android动画

标签 android animation

我想要实现的目标

我有一个应用程序,在左下角有一个按钮。这个按钮是一个圆形的 ImageButton。当我按下按钮(带有放大镜图标)时,应该会发生以下转换:

Left shows start, right show finish

此外,如果图像中不清楚,按钮是 ImageButton,而“最终结果”是 SearchView。这不一定必须是这样,但这似乎是最好的方式。

我现在拥有的

我有一个圆形按钮样式的 XML 文件,名为 search_button_layout.xml,如下所示:

    <?xml version="1.0" encoding="utf-8"?> shapexmlns:android="http://schemas.android.com                        /apk/res               /android"     android:shape="rectangle"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<corners
    android:topLeftRadius="100dp"
    android:topRightRadius="100dp"
    android:bottomLeftRadius="100dp"
    android:bottomRightRadius="100dp"
    />
<solid
    android:color="#31DE65"
    />
<padding
    android:left="0dp"
    android:top="0dp"
    android:right="0dp"
    android:bottom="0dp"
    />
<size
    android:width="45dp"
    android:height="46dp"
    />
</shape> 

按钮本身是在 activity_main.xml 文件中创建的,看起来像这样。

    <ImageButton

    android:id="@+id/search_btn"
    android:layout_width="65dp"
    android:layout_height="66dp"
    android:background="@layout/search_button_layout"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:onClick="goToSearch"
    android:src="@drawable/ic_action_name"
    android:scaleType="fitCenter" />

我一直在尝试搜索,但最终得到的是已过时且未得到解答的问题。

如果缺少信息,或者您有我无法找到的解决方案来源,请回复。

精简版

当我单击圆形图像按钮(图像左侧)时,我想要一个看起来像搜索 View 的动画(图像右侧)。

最佳答案

请检查下面的代码来实现它并在动画背景中使用图像..希望它会有所帮助

activity_layout.xml

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:orientation="horizontal"
        android:gravity="center"
        >
    <TextView
        android:id="@+id/txtglass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:drawable/ic_menu_search"
        android:layout_gravity="center|left"/>

        <EditText
            android:id="@+id/ettext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="Type to Search"
            android:drawableRight="@android:drawable/ic_menu_search"
            />

    </LinearLayout>
</RelativeLayout>

主 Activity .java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
        TextView txtglass;
        EditText ettext;
        int count =0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ettext=(EditText)findViewById(R.id.ettext);
        txtglass=(TextView)findViewById(R.id.txtglass);
        ettext.setVisibility(View.GONE);

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

                if (count==0){
                ettext.setVisibility(View.VISIBLE);
                count=1;

                }
                 else{
                    ettext.setVisibility(View.GONE);
                    count=0;
                }


            }
        });

    }
}

希望对你有帮助

关于圆角半径的Android动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34445820/

相关文章:

java - 对话框打开时如何处理屏幕方向变化?

java - Firebase 更新后 RecyclerView 不刷新

android - 在android中如何使用动画使图像从一个点开始增长?

c++ - Windows:是否有我可以作为 Visual C++ 资源引用的内置加载动画?

html - CSS 动画后的文本 "nudging"本身

java - 单击事件后从资源布局中 inflatedView

android - 在 Android 中使用 SDK 3.5 从 FriendPickerFragment 获取 Facebook 好友列表

javascript - jQuery 动画总是以相同的速度

css - 简化的 css3 动画不起作用

java - 如何检测Android中点击图像的区域