2015-12-24 176 views
2

我想實現的Android動畫圓角半徑

我有一個應用程序,其中在左下角,我有一個按鈕是什麼。這個按鈕是一個圓形的ImageButton。當我按下按鈕(放大鏡圖標,下面的過渡應該發生:

Left shows start, right show finish

而且,如果不是在圖像清晰,按鈕是一個ImageButton的,而「最終結果」是搜索查看,這並不一定是這樣的,但它似乎是最好的一段路要走。

我現在有

我有一個XML文件的風格圓形按鈕,名爲search_button_layout.xm升,看起來像這樣:

<?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" /> 

我一直在嘗試搜索,但我只是以未解決的問題結束,而這些問題已經過時。

如果信息不足,請回復,或者如果您有解決方案的來源,我找不到。

短版

當我點擊了圓形的ImageButton(左圖中),我想,看起來像一個搜索查看(右圖像)的動畫。

回答

1

請檢查下面的代碼來實現它,並在後臺使用的圖片insted的動畫..hope這將有助於

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> 

MainActivity.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; 
       } 


      } 
     }); 

    } 
} 

希望它會有幫助

+0

我會在幾個小時內嘗試你的答案。聖誕節在路上。 :) – user2990057

+0

這種解決了我的問題。我將它應用到了我的項目中,儘管它不像我腦海中描繪的那樣完美。 – user2990057