用于角半径的Android动画
我想要实现的目标 我有一个应用程序,在左下角有一个按钮。此按钮是一个圆形图像按钮。当我按下按钮(带有放大镜图标)时,应发生以下转换: 此外,如果图像中不清楚,则按钮是ImageButton,而“最终结果”是SearchView。这不一定是这样,但似乎是最好的方式 我现在拥有的 我有一个圆形按钮样式的XML文件,名为search_button_layout.XML,如下所示:用于角半径的Android动画,android,animation,Android,Animation,我想要实现的目标 我有一个应用程序,在左下角有一个按钮。此按钮是一个圆形图像按钮。当我按下按钮(带有放大镜图标)时,应发生以下转换: 此外,如果图像中不清楚,则按钮是ImageButton,而“最终结果”是SearchView。这不一定是这样,但似乎是最好的方式 我现在拥有的 我有一个圆形按钮样式的XML文件,名为search_button_layout.XML,如下所示: <?xml version="1.0" encoding="utf-8"?> shapexmlns:
<?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>
shapexmlns:android=”http://schemas.android.com /apk/res/android“android:shape=“矩形”
android:layout\u height=“包装内容”
android:layout\u width=“wrap\u content”>
按钮本身是在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" />
我一直在尝试搜索,但最终我只发现了一些过时的未回答的问题
请回答,如果信息是缺乏的,或者如果你有一个解决方案的来源,我还没有找到
短版
当我单击圆形图像按钮(图像左侧)时,我想要一个看起来像searchview(图像右侧)的动画。请检查下面的代码以实现它,并使用背景图像而不是动画。。希望这会有所帮助 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>
希望这会有帮助我会在几个小时内尝试你的答案。圣诞节已经过去了。:)这样就解决了我的问题。我把它应用到我的项目中,并且它工作了,尽管它和我脑海中想象的不完全一样。
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;
}
}
});
}
}