1. 程式人生 > >Android 控制元件逐漸出現,逐漸消失的動畫

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()
    @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); }
在Handler中:
    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中都有這方面的功能。話不多說,下