欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android如何使用圓形揭露動畫巧妙地隱藏或顯示View詳解

 更新時間:2022年04月28日 15:50:30   作者:QiShare  
Android開發(fā)中會遇到不少顯示和隱藏的問題,下面這篇文章主要給大家介紹了關于Android如何使用圓形揭露動畫巧妙地隱藏或顯示View的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

1.引言

在開發(fā)過程中,我們經(jīng)常會遇到需要顯示或隱藏View視圖的情況,如果在隱藏或顯示View的過程中加上動畫,能讓交互更加的友好和動感,本文將介紹如何使用圓形揭露動畫巧妙地隱藏或顯示View。

2.圓形揭露動畫簡介

圓形揭露動畫是動畫的一種,是由ViewAnimationUtils類提供的,調(diào)用ViewAnimationUtils.createCircularReveal()方法可以創(chuàng)建圓形揭露動畫,使用此動畫要求API級別為21及以上版本,createCircularReveal()方法的參數(shù)如下:

//view:使用圓形動畫的視圖
//centerX:裁剪圓形的中心的X坐標,這個中心是指相對于視圖本身
//centerY:裁剪圓形的中心的Y坐標,這個中心是指相對于視圖本身
//startRadius:圓形的起始半徑
//endRadius:圓形的結束半徑
public static Animator createCircularReveal(View view,int centerX,  int centerY, float startRadius, float endRadius)

3.使用圓形揭露動畫隱藏或顯示View

3.1 簡易布局

簡易布局如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btn_hide_or_show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="隱藏或顯示"
        android:textColor="@color/black"
        android:textSize="18sp" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_marginTop="50dp"
        android:src="@mipmap/ic_launcher"/>
</LinearLayout>

3.2 使用圓形揭露動畫隱藏View

首先要計算得出View相對于自身的中心點的X坐標和Y坐標,然后調(diào)用Math.hypot()方法計算得出圓形的半徑,接著調(diào)用ViewAnimationUtils.createCircularReveal(imageView, ivXCenter, ivYCenter, circleRadius, 0f)創(chuàng)建圓形揭露動畫,增加動畫執(zhí)行的Listener,在動畫執(zhí)行結束后調(diào)用imageView.setVisibility(View.GONE),最后啟動動畫,示例如下:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
     int width = imageView.getWidth();
     int height = imageView.getHeight();
     int ivXCenter = width/2;
     int ivYCenter = height/2;
     float circleRadius = (float) Math.hypot(ivXCenter, ivYCenter);
     Animator circularReveal = ViewAnimationUtils.createCircularReveal(imageView, ivXCenter, ivYCenter, circleRadius, 0f);
     circularReveal.addListener(new AnimatorListenerAdapter() {
         @Override
         public void onAnimationEnd(Animator animation) {
             super.onAnimationEnd(animation);
             imageView.setVisibility(View.GONE);
             isVisible = false;
         }
     });
     circularReveal.start();
 }else {
     imageView.setVisibility(View.GONE);
     isVisible = false;
 }

3.3 使用圓形揭露動畫顯示View

使用圓形揭露動畫顯示View,先計算得出View相對于自身的中心點的X坐標和Y坐標,然后算出圓形的半徑,接著創(chuàng)建圓形揭露動畫,此時的起始半徑是0f,結束半徑是圓形的半徑,調(diào)用imageView.setVisibility(View.VISIBLE),最后啟動動畫,示例如下:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    int width = imageView.getWidth();
    int height = imageView.getHeight();
    int ivXCenter = width/2;
    int ivYCenter = height/2;
    float circleRadius = (float) Math.hypot(ivXCenter, ivYCenter);
    Animator circularReveal = ViewAnimationUtils.createCircularReveal(imageView, ivXCenter, ivYCenter, 0f, circleRadius);
    imageView.setVisibility(View.VISIBLE);
    isVisible = true;
    circularReveal.start();
}else {
    imageView.setVisibility(View.VISIBLE);
    isVisible = true;
}

4.總結

使用圓形揭露動畫隱藏或顯示View,主要是計算出View相對于自身的中心點的X坐標和Y坐標,并計算出圓形半徑,在調(diào)用ViewAnimationUtils.createCircularReveal()方法創(chuàng)建的時候要注意起始半徑和結束半徑的填寫,隱藏View的時候在動畫執(zhí)行完畢后setVisibility()方法隱藏,顯示View的時候,在動畫啟動前調(diào)用setVisibility()方法顯示。

到此這篇關于Android如何使用圓形揭露動畫巧妙地隱藏或顯示View的文章就介紹到這了,更多相關Android隱藏或顯示View內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在啟動欄制作android studio啟動圖標

    在啟動欄制作android studio啟動圖標

    這篇文章主要介紹了在啟動欄制作android studio啟動圖標的相關知識,需要的朋友可以參考下
    2018-03-03
  • Android互聯(lián)網(wǎng)訪問圖片并在客戶端顯示的方法

    Android互聯(lián)網(wǎng)訪問圖片并在客戶端顯示的方法

    這篇文章主要介紹了Android互聯(lián)網(wǎng)訪問圖片并在客戶端顯示的方法,結合實例分析了Android處理圖片的技巧,并附帶了Android的URL封裝類,網(wǎng)絡連接封裝類與輸出流封裝類,需要的朋友可以參考下
    2015-12-12
  • Android調(diào)用系統(tǒng)圖庫獲取圖片的方法

    Android調(diào)用系統(tǒng)圖庫獲取圖片的方法

    這篇文章主要為大家詳細介紹了Android調(diào)用系統(tǒng)圖庫獲取圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Android使用Retrofit仿微信多張圖片拍照上傳

    Android使用Retrofit仿微信多張圖片拍照上傳

    這篇文章主要介紹了Android使用Retrofit仿微信多張圖片拍照上傳的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android自定義View實現(xiàn)角度選擇器

    Android自定義View實現(xiàn)角度選擇器

    前幾天在Google Photos查看照片,用了一下它的圖片剪裁功能,于是我馬上就被其界面和操作吸引。后來想模仿做一個和Google Photos裁圖頁面幾乎一模一樣的角度選擇器,本文比較基礎,在閱讀本文前只需要掌握最基礎的自定義View知識和Android事件知識。下面來一起學習下吧。
    2016-11-11
  • Android View 測量流程(Measure)全面解析

    Android View 測量流程(Measure)全面解析

    這篇文章主要為大家全面解析了Android View 測量流程Measure,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android TextView多文本折疊展開效果

    Android TextView多文本折疊展開效果

    這篇文章主要為大家詳細介紹了Android TextView多文本折疊展開效果的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android自定義視圖中圖片的處理

    Android自定義視圖中圖片的處理

    Android系統(tǒng)提供了ImageView顯示普通的靜態(tài)圖片,也提供了AnimationDrawable來開發(fā)逐幀動畫,還可通過Animation對普通圖片使用補間動畫。圖形、圖像處理不僅對Android系統(tǒng)的應用界面非常重要,而且Android系統(tǒng)上的益智類游戲、2D游戲都需要大量的圖形、圖像處理
    2022-07-07
  • Android學習筆記——Menu介紹(三)

    Android學習筆記——Menu介紹(三)

    今天繼續(xù)昨天沒有講完的Menu的學習,主要是Popup Menu的學習,需要的朋友可以參考下
    2014-10-10
  • Android組件化工具ARouter使用方法詳細分析

    Android組件化工具ARouter使用方法詳細分析

    這篇文章主要介紹了Android組件化工具ARouter使用方法,組件化項目存在各個模塊之間耦合,通信麻煩的問題,為了解決這個問題,阿里巴巴的開發(fā)者就搞出了Arouter這個框架,以解決上述問題
    2022-10-10

最新評論