Android:ImageView控制元件

yufan發表於2016-01-08

ImageView 是用於在介面上展示圖片的一個控制元件,通過它可以讓我們的程式介面變得更加 豐富多彩。學習這個控制元件需要提前準備好一些圖片,由於目前 drawable 資料夾下已經有一張 ic_launcher.png 圖片了,那我們就先在介面上展示這張圖吧,修改 activity_main.xml,如下所示:

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

android:orientation="vertical" >

 

……

 

 

<ImageView android:id="@+id/image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher"

/>

</LinearLayout>

可以看到,這裡使用 android:src 屬性給 ImageView 指定了一張圖片,並且由於圖片的寬 和高都是未知的,所以將 ImageView 的寬和高都設定為 wrap_content,這樣保證了不管圖片 的尺寸是多少都可以完整地展示出來。重新執行程式,效果如圖 3.9 所示。

 

 

 

圖   3.9

 

 

 

我們還可以在程式中通過程式碼動態地更改 ImageView 中的圖片。這裡我準備了另外一張

圖片,jelly_bean.png,將它複製到 res/drawable-hdpi 目錄下,然後修改 MainActivity 的程式碼, 如下所示:

 

public class MainActivity extends Activity implements OnClickListener {

 

 

private Button button; private EditText editText; private ImageView imageView;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

button = (Button) findViewById(R.id.button);

editText = (EditText) findViewById(R.id.edit_text);

imageView  = (ImageView) findViewById(R.id.image_view);

button.setOnClickListener(this);

}

 

 

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button: imageView.setImageResource(R.drawable.jelly_bean); break;

default:

break;

}

}

 

}

在按鈕的點選事件裡,通過呼叫 ImageView 的 setImageResource()方法將顯示的圖片改 成 jelly_bean,現在重新執行程式,然後點選一下按鈕,就可以看到 ImageView 中顯示的圖 片改變了,如圖 3.10 所示。

 

 

 

 

 

圖   3.10

 

相關文章