編輯:關於Android編程
圖像狀態資源只能定義有限的幾種狀態。如果需要更多的狀態,就要使用圖像級別資源。在該資源文件中可以定義任意多個圖像級別。每個圖像級別是一個整數區間,可以通過ImageView.setImageLevel或Drawable.setLevel方法切換不同狀態的圖像。
圖像級別資源是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今天筆記本上開發再次遇到這個問題,經過確認eclipse indigo版本和ibus1.3.11確實有沖突。具體表現是eclipse裡按ctrl+空格,輸入法死活不出來。
一、繪制三角形在上一篇文章中,我們已經新建了虛擬方向鍵的自定義控件DirectionKeys類,下面我們繼續。本項目中的虛擬方向鍵的背景是4個三角形組成的矩形,其實是4個
一、首先說明:藍牙通信必須用手機測試,因為avd裡沒有相關的硬件,會報錯! 好了,看看最後的效果圖: 二、概述: 1.判斷是否支持BluetoothBluet
在游戲接入第三方RgSDK的時候,游戲支付出了問題,在點擊銀聯標志的時候,游戲崩潰。 通過詢問RgSDK的技術人員。發現在我根據文檔拷貝的所給的SDK的Demo裡的文件時