1. 程式人生 > >Android之 ImageView中setId()的作用

Android之 ImageView中setId()的作用

 通過程式碼生成ImageView,並把它新增到佈局中來時,可能會遇到setId()方法,那麼它有什麼作用?

作用如下:

通過程式碼新增ImageView、TextView等控制元件時,有時候會用到RelativeLayout.LayoutParams等佈局的addRule()方法,如下程式碼:

ImageView imageView = new ImageView(this.getActivity());
imageView.setId(View.generateViewId());
...
params.addRule(RelativeLayout.BELOW, imageView.getId());

此時就能知道setId()的作用了。就是在某控制元件的下方、上方等用到具體View的地方,需要getId().

另附上一塊完整的程式碼,但是沒setId(),ImageView沒有ID,直接取會造成錯誤。

RelativeLayout layout = new RelativeLayout(this.getActivity());
    layout.setLayoutParams(new RelativeLayout.LayoutParams(
             LayoutParams.FILL_PARENT,
             LayoutParams.FILL_PARENT));
    layout.setBackgroundColor(Color.parseColor("#CCCDCDCD"));

    ImageView imageView = new ImageView(this.getActivity());
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_IN_PARENT);
    imageView.setLayoutParams(params);
    imageView.setBackgroundResource(R.drawable.create_template);

    AnimationDrawable frameAnimation = (AnimationDrawable) imageView.getBackground();

    if (frameAnimation != null) {
        frameAnimation.start();
    }

    TextView textView = new TextView(this.getActivity());
    params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.BELOW, imageView.getId());
    textView.setLayoutParams(params);
    textView.setText("Generating information...");

    layout.addView(imageView);
    layout.addView(textView);

    return layout;

相關推薦

Android ImageViewsetId()的作用

 通過程式碼生成ImageView,並把它新增到佈局中來時,可能會遇到setId()方法,那麼它有什麼作用? 作用如下: 通過程式碼新增ImageView、TextView等控制元件時,有時候會用到R

Androidimageview獲得bitmap的方法

blog bit win matrix image logs led bitmap raw 第一種: 使用setDrawingCacheEnabled()和getDrawingCache()這兩種方法,第一個是為了設置是否開啟緩存,第二個就可以直接獲得imageview中

android 獲得ImageViewImage的繪製大小

如題,ImageView在顯示圖片的時候,受限於螢幕大小,和圖片寬高。通常圖片是被縮放過,且不是寬和高都充滿ImageView的。 此時,我們如何獲得Image被實際繪製的寬高呢?如下: final ImageView iv = (ImageView) findViewB

androidImageView

三種設定圖片源的方法 ImageView iv; String fileName = "/data/data/com.test/aa.png; Bitmap bm = BitmapFactory.decodeFile(fileName); iv.setImageBitmap(bm); ImageView iv

Android assets資料夾位置放置和作用( AS 和eclipse的 )

Android 的assets資料夾的放置位置,Eclipse建立專案時就生成了的,Android Studio則不太一樣,AS可以包含幾種方式, 1:可以在build.gradle檔案下配置,加如下程式碼  " sourceSets { main { assets.srcDirs = ['src/ass

android學習筆記ImageView的scaleType屬性

有關 sni mage nds 目標 big ins 分辨率 處理 我們知道,ImageView有一個屬性叫做scaleType,它的取值一共同擁有八種,各自是:matrix,fitXY。fitStart,fitCenter。fitEnd,center,centerCr

android imageview scaletype 與 寬度固定高度自適應

原文地址:https://blog.csdn.net/qq_32515625/article/details/71700080 這是scaletype的幾乎所有展示 http://blog.csdn.net/larryl2003/article/details/6919513 下面

Android開發Webview原生與JS互動

文章目錄 概述 使用場景 互動方式 Java呼叫JS程式碼 JS呼叫Java程式碼 總結 概述 由於手機硬體資源的快速提升,使得采用混合開發的可能性逐漸成為現實並且流行起來。Android開發中

android RelativeLayoutandroid:layout_marginBottom的不起作用問題

RelativeLayout佈局中: 1、當設定為android:layout_height="wrap_content"時,最下面的控制元件layout_marginBottom屬性無效,如果其他控制元件使用layout_above讓自己處於最下面的控制元件之上,那麼layout_margi

Android ImageViewscaleType="centerCrop"實現左對齊效果

在開發過程中,用於顯示圖片大家用的比較多的應該是ImageView,在顯示圖片時是通常我們會設定scaleType以達到不同的展示效果。然後通常scaleType能設定的屬性僅為: CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則擷

ES6系列_10Symbol在物件作用

在ES5中 物件屬性名都是字串,這容易造成屬性名的衝突,比如,你使用了一個他人提供的物件,但又想為這個物件新增新的方法(mixin 模式),新方法的名字就有可能與現有方法產生衝突,於是 ES6 引入了Symbol。Symbol是一種新的原始資料型別,表示獨一無二的值。它是繼undefined、nul

ES6系列_10Symbol在對象作用

沒有 括號 容易 別人 ava 聲明 kill ber num 在ES5中 對象屬性名都是字符串,這容易造成屬性名的沖突,比如,你使用了一個他人提供的對象,但又想為這個對象添加新的方法(mixin 模式),新方法的名字就有可能與現有方法產生沖突,於是 ES6 引入了Symb

Android開發學習筆記(十二)基礎UI控制元件ImageView、CheckBox、RadioButton

一、ImageView:直接繼承自View,它的作用是在介面上顯示Drawable物件。 ImageView在佈局檔案(如main_activity.xml)中常用的屬性 有 scaleType ,s

Android在Fragment使用二維碼掃描功能

最近在做一個專案,是在Fragment中使用zxing的二維碼掃描功能,在我以前寫的二維碼掃描功能的教程只適合在activity中使用地址:https://blog.csdn.net/qq_31844349/article/details/81301911 沒有辦法因為工作需要,必須在Fra

Elipse ADT(Android Developer ToolKit)是什麼?在開發作用是什麼?

ADT是什麼?在開發中起到的作用是什麼?看官方解釋: ADT Plugin Release Notes   ADT外掛版本說明 The Eclipse ADT plugin is no longer supported per our announcement. Andro

android imageview設定圖片變灰

原文連結 http://blog.csdn.net/chaozhidan/article/details/51482895 將ImageView變成灰色ColorMatrix matrix = new ColorMatrix();matrix.setSaturation(

android ImageViewsetBackground相關屬性的區別

最近在寫android程式時,遇到以下情形: 底部導航欄要用到4個ImageView來實現,在點選不同的ImageView是,要對其背景色進行設定,在使用ImageView關於setBackground相關屬性設定時,會出現異常,從而導致android程式崩潰試了好多辦法都

Android淺談Android的MVP

個人開發的微信小程式,目前功能是書籍推薦,後續會完善一些新功能,希望大家多多支援! 前言 為什麼使用MVP,網上有很多說法,最主要就是減輕了Activity的責任,相比於MVC中的Activity承擔的責任太多,因此有必要講講MVP。 MVP入門 在MVC框

Android---ButterKnife-View注入框架(簡單介紹和在Studio安裝)

ButterKnife-View注入框架(簡單介紹和在Studio中安裝) 1.簡單介紹 Butter Knife使用簡單介紹 作為一名Android開發,是不是經常厭煩了大量的findViewById以及setOnClickListener程式碼,而

android imageview設定圖片變灰

原文連結 http://blog.csdn.net/chaozhidan/article/details/51482895   將ImageView變成灰色 ColorMatrix matrix = new ColorMatrix(); matrix.setSaturat