Android文字框震動效果的實現

來源:互聯網
上載者:User

標籤:

今天嘗試了一下文字框的震動效果。一般我們會在輸入的時候,要是輸入的內容不符合我們的要求的時候,我們可以做一個反饋。很多程式上會有這一個文本輸入框的左右反覆運動的效果來提示我們輸入不符合要求。這個效果其實API Demo裡面也有所以我就直接根據裡面的使用方法來實現。

1.首先先findViewById到EditText

EditText etNumber = (EditText) findViewById(R.id.et_number);

2.然後在res檔案夾裡面建立一個anim檔案夾(裡面主要放我們的動畫描述檔案)

GoogleAPI demo實現這個效果主要用到了兩個檔案一個叫cycle_7.xml和shake.xml



shake.xml主要實現的是一個  translate 位置轉移動畫效果

<translate xmlns:android="http://schemas.android.com/apk/res/android"    android:duration="1000"    android:fromXDelta="0"    android:interpolator="@anim/cycle_7"    android:toXDelta="10" />


  fromXDelta 屬性為動畫起始時 X座標上的位置  
  toXDelta   屬性為動畫結束時 X座標上的位置  
  duration  屬性為動畫期間(以毫秒為單位)                


在這些屬性裡面還可以加上%和p,例如:

Android:toXDelta="100%",表示自身的100%,也就是從View自己的位置開始。

android:toXDelta="80%p",表示父層View的80%,是以它父層View為參照的。

然後cycle_7.xml檔案是一個Interpolator

Interpolator 被用來修飾動畫效果,定義動畫的變動率,可以使存在的動畫效果accelerated(加速),decelerated(減速),repeated(重複),bounced(彈跳)等。

<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android" android:cycles="7" />


而  CycleInterpolator 動畫迴圈播放特定的次數,速率改變沿著正弦曲線,這裡是說迴圈了7次


最後我們將兩個動畫檔案通過loadAnimation設給我們的文字框

       Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);       etNumberAddress.startAnimation(shake);

這樣就可以實現文字框的左右移動效果啦.。


Android文字框震動效果的實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.