Android 控制元件逐漸出現,逐漸消失的動畫
第一步:首先在xml佈局檔案中設定該控制元件為android:visibility="gone"。
第二步:在程式碼中配置兩個Animation
alphaAnimation appearAnimation = new AlphaAnimation(0, 1);
appearAnimation.setDuration(500);
disappearAnimation = new AlphaAnimation(1, 0);
disappearAnimation.setDuration(500);
</pre> 第三步:想讓控制元件出現時</p><p><pre name="code" class="java">if (flowBottomLL.getVisibility() == View.GONE) { flowBottomLL.startAnimation(appearAnimation); flowBottomLL.setVisibility(View.VISIBLE); }
第四步:想讓控制元件消失時,
</pre></p><p></p><p></p><pre name="code" class="java">flowBottomLL.startAnimation(disappearAnimation); disappearAnimation.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void onAnimationRepeat(Animation animation) {} @Override public void onAnimationEnd(Animation animation) { flowBottomLL.setVisibility(View.GONE); } });
總結:出現和消失的程式碼是不同的,因為我們的控制元件一開始是隱藏的,當執行出現的動畫時,如果不立即設定控制元件為可見,就看不到這個動畫效果;同樣,在消失的時候,不能馬上隱藏控制元件,那樣也會看不到動畫效果,必須監聽動畫的執行,當動畫執行完成後,再設定控制元件隱藏。本文只提到如何讓控制元件逐漸出現和消失,並沒有提到如何觸發這兩個效果,我提供一種情況吧。如果要達到觸控式螢幕幕,控制元件就逐漸出現,手離開螢幕若干秒後,控制元件就逐漸消失的效果,可以重寫onTouchEvent()
在Handler中:@Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { //讓控制元件出現 } if (event.getAction() == MotionEvent.ACTION_UP) { isFlowing = false; if (flowBottomLL.getVisibility() == View.VISIBLE) { Message msg = handler.obtainMessage(1); currentTime = System.currentTimeMillis(); //用時間來設定標誌位,在handleMessage方法中判斷觸發事件的來源是否是同一個. Bundle bundle = new Bundle(); bundle.putLong("currentTime", currentTime); msg.setData(bundle); handler.sendMessageDelayed(msg, 3000); }<pre name="code" class="java">} return super.onTouchEvent(event); }
private Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
if (msg.what == 1) {
if (!isFlowing && msg.getData().getLong("currentTime") == currentTime) {
flowBottomLL.startAnimation(disappearAnimation);
disappearAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationRepeat(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
flowBottomLL.setVisibility(View.GONE);
}
});
}
}
}
};
相關推薦
【Android控制元件】呼吸效果的動畫
由於只是展示上的,就不需要使用屬性動畫。直接使用的補間動畫,簡單的動畫。 public class MainActivity extends Activity { private ImageView mImageView; @Overrid
Android 控制元件逐漸出現,逐漸消失的動畫
第一步:首先在xml佈局檔案中設定該控制元件為android:visibility="gone"。 第二步:在程式碼中配置兩個Animation alphaAnimation appearAnimation = new AlphaAnimation(0, 1); ap
Android仿微信朋友圈九宮格圖片展示自定義控制元件,支援縮放動畫~
一直對微信朋友圈九宮格圖片顯示控制元件比較好奇,找到一篇介紹相關騷操作的部落格 部落格雖好但是不夠完美,缺少點選圖片預覽頁面和縮放動畫,作為一個不斷追求完美主義的人,我想把這個控制元件結合到專案中而不是單純作為一個控制元件。 下面是我的實現效果圖: (
android---控制元件隱藏與顯示動畫
實現控制元件的顯示和隱藏有兩種方法:1.通過程式碼控制,2在xml裡面設定動畫效果再去載入,兩者的原理是相同的,就是將控制元件顯示或者隱藏起來在加上動畫,就可以實現看著慢慢隱藏跟慢慢顯示出來的效果了。 方法一:載入xml動畫檔案animationSet = (AnimationSet) AnimationUt
Android控制元件顯示、隱藏時,增加動畫效果
在Android應用開發的時候經常會用到View的setVisibility()方法來動態隱藏和顯示view,但是這樣子是沒有過渡動畫的,變化的時候會顯得很生硬。 LayoutTransition是一個在4.0新引入的Api,主要功能是在ViewGroup的layout發生變化的時候能夠自
[Android] 控制元件的動態顯示和自動消失效果
在這個例子中,我們要在介面上新增一些可以動態顯示和隱藏的元件,並且實現自動消失的效果。 首先,我們在主Activity中新增三個按鈕用於演示: activity_main.xml <Button android:id="@
android 控制元件放大變大動畫
以中心點放大: AnimationSet animationSet = new AnimationSet(true); ScaleAnimation scaleAnimation = new Sca
Android 控制元件使用Animator動畫後,點選事件失效解決方法
原因:動畫只是改變了該控制元件的顯示位置; 實際位置未發生改變 解決方法: 使用ValueAnimator動畫 屬性動畫 /** 獲得value物件.通過構造器 並且 傳遞 需要移動的引數
Android---控制元件View的GONE和VISIBLE動畫
顯示動畫 TranslateAnimation mShowAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation
Android控制元件之LabelView
最近研究android控制元件開發,學習無捷徑,逛github,看到一個LabelView的demo,感覺還是挺不錯,也比較實用,所以拿來學習了一下。 附上源專案的地址:
Android控制元件之圓形進度條
Android-自定義ProgressBar實現圓弧進度條 在之前的專案中用到過這個,感覺還是非常實用的,我實現的是額度的增長. 繼承於ProgressBar實現,保留了Progressbar的特性,原始碼在文尾。
Android控制元件提示框與執行緒簡介
訊息提示框 1. Toast(吐絲框) 1.1 Toast是Android中的一種簡易的訊息提示框 1.2 使用這個類的最簡單的方法是呼叫靜態方法構造您所需要的一切,並返回一個新的Toast物件。 Toast toast=To
Android控制元件常用屬性
可見(visible) XML檔案:android:visibility="visible" Java程式碼:view.setVisibility(View.VISIBLE); 居中: 1. LinearLayout a). android:layout_gravity="cen
【Android控制元件】點選變暗效果
需要準備 兩張圖片做背景,一張的正常顯示的效果,一張是點選後呈現的效果。 或者兩個表示不同效果的xml檔案,一個表示正常顯示的效果,一個表示點選後呈現的效果。 <!--greenbutton_pressed--> <
控制元件中出現的e.xxxx之類的
在遇到窗體應用程式開發的時候,會在控制元件事件的後臺寫一些程式碼,特別是帶e.xxx什麼的 C#中的Graphics g = e.Graphics是什麼意思? 解釋是: Graphics 這個類,比較特殊,因為它是GDI+的基本類,類似傳統的Canvas概念,就是說: 對於一個用於繪圖的Graphics
Android控制元件之ListView(初識)
ListView 控制元件可使用四種不同檢視顯示專案。通過此控制元件,可將專案組成帶有或不帶有列標頭的列,並顯示伴隨的圖示和文字。 ListView有四種模式: 其作用是新增選擇按鈕框。 設定單選框 Lv.setChoiceMode(ListView.CHOICE_MOD
Android控制元件之AutoCompleteTextView提示輸入
效果圖 AutoComepleteTextView 控制元件的主要的作用是在使用者輸入中,提示輸入。但是隻能提示一次。這裡就出項了MultiautoCompleteTextView控制元件,其主要的功能是也是在使用者輸入中提示輸入。 AutoComepleteTextVie
android 控制元件使用---ButterKnife的 apt 外掛
ButterKnife是一個專注於Android系統的View注入框架,可以減少大量的findViewById以及setOnClickListener程式碼,視覺化一鍵生成。 ButterKnife 優勢 1、強大的View繫結和Click事件處理功能,簡化程式碼,提
Android 控制元件ProgressBar進度條
Android 控制元件---ProgressBar進度條 下面詳細介紹ProgressBar 一、說明 在某些操作的進度中的可視指示器,為使用者呈現操作的進度,視訊一般都有進度條,用來顯示中間進度,如在流媒
Android控制元件----關於上拉重新整理上拉載入的自定義控制元件
首先需要明白的是,平常用的ListView做不到類似於小說章節閱讀的瀏覽效果,去實現重新整理載入的功能。雖然GitHub上有一些開源庫可以使用,但是這種東西自己如果有時間能夠親歷一遍瞭解的更加透徹,畢竟在很多Android的APP中都有這方面的功能。話不多說,下