.Net程式員安卓學習之路5:使用xutils注入View和事件以及圖片的顯示

來源:互聯網
上載者:User

標籤:

原文:.Net程式員安卓學習之路5:使用xutils注入View和事件以及圖片的顯示

xUtils注入和圖片顯示一、xUtils注入

引用官方介紹:

ViewUtils模組: •android中的ioc架構,完全註解方式就可以進行UI,資源和事件綁定;•新的事件綁定方式,使用混淆工具混淆後仍可正常工作;•目前支援常用的20種事件綁定,參見ViewCommonEventListener類和包com.lidroid.xutils.view.annotation.event。

      之前我們寫事件比如Btn的Click事件一般採用寫入程式碼或者Linstener的方式來實現,從介面某個元素取值或者賦值必須首先使用findcontrol來找到他較為麻煩且難以維護,而這些使用xUtils的註解功能就能很簡潔的完成,比如下例我們實現點擊Btn給文字框賦值操作:

點擊Btn後:

要實現xUtils注入首先得在onCreate中加入:

ViewUtils.inject(this); //注入view和事件

之後定義控制項如下:

@ViewInject(R.id.lbl_info)private TextView textView;

這樣就相當於找到介面ID為lbl_infoTextView ,在接下來的代碼中隨意使用:

textView.setText("Clicked Btn");

能注入View同樣也能注入事件,如我們要實現Btn的點擊事件只需如下編碼即可:

@OnClick(R.id.btn_test)public void btn_testClick(View v){ 
// 方法簽名必須和介面中的要求一致 ....}

而前台並不需要定義它的事件:

<Buttonandroid:id="@+id/btn_test"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Show Me" />

結合起來就是:

@OnClick(R.id.btn_test)public void btn_testClick(View v)    {         // 方法簽名必須和介面中的要求一致        textView.setText("Clicked Btn");    }

這種方式必須保證控制項有ID。

二、使用xUtils完成圖片的顯示
? BitmapUtils模組: •載入bitmap的時候無需考慮bitmap載入過程中出現的oom和android容器快速滑動時候出現的圖片錯位等現象;•支援載入網狀圖片和本地圖片;•記憶體管理使用lru演算法,更好的管理bitmap記憶體;•可配置線程載入線程數量,緩衝大小,緩衝路徑,載入顯示動畫等...
1.網狀圖片:

需要增加網路或者SD卡存取權限:

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

拿部落格園Logo為例,訪問的代碼如下:

BitmapUtils bitmapUtils = new BitmapUtils(this);bitmapUtils.display(imgItem, "http://42.121.254.191/images/logo_small.gif");

思路是先在介面聲明圖片控制項:

<ImageViewandroid:id="@+id/img_item"android:layout_width="wrap_content"android:layout_height="wrap_content"/>

再找到這個控制項:

@ViewInject(R.id.img_item)private ImageView imgItem;

將開始訪問網狀圖片的那句代碼放入按鈕點擊事件下,運行即可:

2. 本地圖片

在本地assets中放入一個圖片待顯示。

只需一句代碼(剩下的和上例同):

bitmapUtils.display(imgItem, "assets/qq.jpg");

.Net程式員安卓學習之路5:使用xutils注入View和事件以及圖片的顯示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.