Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android資源之圖像資源(圖像級別資源)

Android資源之圖像資源(圖像級別資源)

編輯:關於Android編程

圖像狀態資源只能定義有限的幾種狀態。如果需要更多的狀態,就要使用圖像級別資源。在該資源文件中可以定義任意多個圖像級別。每個圖像級別是一個整數區間,可以通過ImageView.setImageLevel或Drawable.setLevel方法切換不同狀態的圖像。

圖像級別資源是XML格式的文件,必須將標簽作為XML的根節點。標簽中可以有任意多個標簽,每一個標簽表示一個級別區間。級別區間用android:minLevel和android:maxLevel屬性設置。setImageLevel或setLevel方法設置的級別在某個區間內(android:minLevel<=level<=android:maxLevel),系統就會先用哪個區間對應的圖像(用android:drawable屬性設置)。在建立這個資源文件時,采用新建Android XML時,沒有根節點為的xml,不過這不要緊,可以新建一個全新的普通的XML文件,然後寫入相應代碼即可。

下面我給出一個具體的實例(開關燈):

lamp.xml圖像級別資源文件如下:

 

 

上面的lamp.xml文件總共定義了兩個級別的圖像資源。

下面給出主頁面布局文件main_layout.xml文件,如下:



  

相應的MainActivity的代碼如下:

 

package com.gc.drawablestudy;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
/**author:Android將軍*/
public class MainActivity extends Activity {
	private ImageView ivLamp;

	@SuppressLint(NewApi)
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//Resources res=getResources();
		//Drawable drawable=res.getDrawable(R.drawable.bitmap_test);
		//TextView txt=(TextView)findViewById(R.id.textView);
		//txt.setBackground(drawable);
		ivLamp=(ImageView)findViewById(R.id.imageview_lamp);
		//設置level為8,顯示lamp_off.png
		ivLamp.setImageLevel(8);
		
	}

	//開燈按鈕的單擊事件方法
	public void onClick_LampOn(View view)
	{
		//設置level為15,顯示lamp_on.png
		ivLamp.setImageLevel(15);
	}
	//關燈按鈕的單擊事件方法
		public void onClick_LampOff(View view)
		{
			//設置level為6,顯示lamp_off.png
			ivLamp.setImageLevel(6);
		}
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}


 

 

結合上一篇的博文,大家可以看出,圖像狀態資源與圖像級別資源都可以用來實現按鈕不同狀態顯示不同的圖像的效果,如果你的控制只需顯示2個或3個效果你可以使用圖像狀態資源,但是如果你想顯示更多的效果,還是使用圖像級別資源。

案例效果截圖如下:

\

轉載請注明出處:

http://blog.csdn.net/android_jiangjun/article/details/32308551
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved