1. 程式人生 > >Android之ClipDrawable資源簡單使用

Android之ClipDrawable資源簡單使用

使用ClipDrawable實現圖片徐徐展開效果

ClipDrawable 代表從其他點陣圖上擷取一個”圖片片段” 呼叫 setLevel(int level) 方法來設定擷取的區域大小 當level為0時,擷取的圖片片段為空; 當level為10000時,擷取整張圖片。 一開始level預設為0。

以下為原始碼

在drawable檔案下定義一個xml檔案

<clip xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/aaa" <!--
指定擷取原始檔-->
android:clipOrientation="horizontal"<!--擷取方向--> android:gravity="center"<!--擷取時的對齊方式--> > </clip>

佈局檔案

<LinearLayout
    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:orientation="vertical" tools:context="com.example.brazen.test.MainActivity">
<ImageView android:id="@+id/imageview" android:layout_width="match_parent" android:layout_height="match_parent" android:src
="@drawable/clipdrawable"/>
<!--引用檔案--> </LinearLayout>

Java程式碼

public class MainActivity extends Activity {
    Handler mHandler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);
        //獲取imageview
        ImageView imageview = (ImageView) findViewById(R.id.imageview);
        //獲取圖片所顯示的ClipDrawable物件
        //補充:匿名內部類引用外部類區域性變數要用final修飾
        final ClipDrawable clipDrawable = (ClipDrawable) imageview.getDrawable();

        mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                //修改level值,預設為0,所以一開始什麼都沒顯示。最大值為10000表示完全顯示
                clipDrawable.setLevel(clipDrawable.getLevel() + 200);

            }
        };
//建立一個定時器
//補充:第一個引數表示執行緒,第二個引數表示延遲即什麼時候開始執行第一個run(),第三個引數表示間隔。
        final Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                if (clipDrawable.getLevel() < 10000)
                    timer.cancel();
                    mHandler.sendEmptyMessage(0x123);
            }
        }, 0, 300);
     }
}

執行效果圖

相關推薦

AndroidClipDrawable資源簡單使用

使用ClipDrawable實現圖片徐徐展開效果ClipDrawable 代表從其他點陣圖上擷取一個”圖片片段” 呼叫 setLevel(int level) 方法來設定擷取的區域大小 當level為0時,擷取的圖片片段為空; 當level為10000時,擷取整

Android基礎學習,使用Drawable資源ClipDrawable資源,實現圖片在特定位置展開。

ClipDrawable代表從其它點陣圖上擷取一個"圖片片段",XML中的根元素為<clip.../>,擷取的方向由clipOrientation控制 下面以一個慢慢展開的圖片為例 ClipDrawable代表從其它點陣圖上擷取一個“圖片片段”。在XML檔

AndroidViewFlipper的簡單使用

ipp 簡單使用 size title header blog roi inf head Android之ViewFlipper的簡單使用Android之ViewFlipper的簡單使用

Xamarin.AndroidUI Test簡單入門

一、前言 相信Xamarin免費之後會有更多的人加入進來,這也是我一直以來最希望看到的事,更多的人加入到這個社群中,為這個社群貢獻自己的一份力量,國內當前還沒有一個比較正規或者說是名氣比較大的Xamarin社群,當然這並不是憑靠一個人就能夠完成的,這需要大家一起共享一份力量。因為公司今年採購了Test Cl

Androidassets資源目錄的各種操作

既然是要對assets資源目錄操作。首先來解釋下assets是啥? Android 中資源分為兩種,         ①、第一種是res下可編譯的資原始檔,這種資原始檔系統會在R.java裡面自動生成該資原始檔的ID,(除了raw外,其他資源目錄中的資原始檔都會被編譯)

Android---RecycleView實現簡單的圖片檢視功能(類似相簿檢視器)

RecycleView實現簡單的圖片檢視功能(類似相簿檢視器) 效果圖 自定義PreviewRecycleView繼承自RecycleView public class PreviewRecycleView extends Recycler

初學Android,使用Drawable資源使用ClipDrawable資源(十六

                ClipDrawable代表從其它點陣圖上擷取一個"圖片片段",XML中的根元素為<clip.../>,擷取的方向由clipOrientation控制下面以一個慢慢展開的圖片為例先定義一個ClipDrawable資原始檔my_clip.xml<?xml ver

初學Android,使用Drawable資源使用ClipDrawable資源(十六)

ClipDrawable代表從其它點陣圖上擷取一個"圖片片段",XML中的根元素為<clip.../>,擷取的方向由clipOrientation控制下面以一個慢慢展開的圖片為例先定義一個ClipDrawable資原始檔my_clip.xml<?xml ve

初學Android 使用Drawable資源使用ClipDrawable資源 十六

lang linear fir tps n) schedule 基礎 tail -h ClipDrawable代表從其它位圖上截取一個"圖片片段",XML中的根元素為<clip.../>,截取的方向由clipOrientation控制 下面以一個慢慢展開的圖片

AndroidRecyclerView簡單使用(三)

圖片 vertica pack listview sdn art code offset ddc 使用過ListView滴小夥伴都知道。ListView有這樣一個屬性android:divider,用來設置每一個item之間切割線滴屬性。問題來了,那麽R

Android獲取圖片資源 拍照後在程式中顯示照片

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android UI詳解顏色資源的使用

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Springboot 執行緒同步Semaphore 資源包的簡單使用

如果你有一個東西, 你想別人觸碰它的時候,不能同時觸碰,需要按照你想要的每次多少人來觸碰。 算了,不做比喻了,程式碼原理其實也簡單,我們直接先看程式碼,我再做簡單的解釋(估計不用看解釋也能懂): package com.semaphore.controller; import org.sp

AndroidJNI動態註冊native方法和JNI資料簡單使用

1、介紹JNI註冊方式 JVM 查詢 native 方法有兩種方式:     1)、按照 JNI 規範的命名規則(靜態註冊)    2) 、呼叫 JNI 提供的 RegisterNatives 函式,將本地函式註冊到 JVM 中(動態註冊) 2、動態註冊的步驟

Android設定頁面PreferenceFragment的簡單使用示例

1.PreferenceFragment介紹 a.PreferenceFragment實際為Fragment的一個子類 b.建立一個PreferenceFragment需要繫結一個xml來顯示檢視 c.繫結後沒就可以當作普通Fragment使用,只是每new一個例項就會

Android學習SQLite資料庫簡單測試例項

MyOpenDB.java檔案 package com.example.androidsqlite; import android.content.Context; import android.database.sqlite.SQLiteDatabase; impor

Android開發學習資源(二)

1.Android開源專案分類彙總(很多特效) https://github.com/Trinea/android-open-project 2.Android開發技術週報(AndroidDevWeekly) http://www.androidweekly.cn/tag/

Android開發學習資源(一)

1.Android效能優化(包括記憶體優化)一系列文章 http://androidperformance.com/categories/Android/http://www.csdn.net/article/2015-04-29/2824583-android-perfo

Android開發學習資源(四)

1.OrmLite資料庫框架 http://ormlite.com/ 2.JSON解析框架GSON https://github.com/ybonnel/gson 3.Android-query框架 http://www.cnblogs.com/lee0oo0/archiv

Android開發學習資源(三)

1.開源框架原始碼解析 http://www.codekk.com/open-source-project-analysis 2.Android開源專案(很多型別框架開源) http://blog.ithi.net/wordpress/?p=153http://litesu