Android 台灣中文網
標題:
如何讓android 按鈕點擊圖片切換
[打印本頁]
作者:
lrving
時間:
2012-9-10 12:00
標題:
如何讓android 按鈕點擊圖片切換
如題
要如何編寫 點擊按鈕後 一旁的介面,圖片會切換
例如 一開始進來這activity 會有幾個button 一旁介面一開始會有一張圖片
點button 1 換第一張圖
點 button 2 換第二張圖
最後的button 會回上一個 activity
登錄/註冊後可看大圖
1.png
(125.13 KB, 下載次數: 95)
下載附件
保存到相冊
2012-9-10 11:55 上傳
小弟還是新手,請各位高手幫幫忙
作者:
不知火羽
時間:
2012-9-12 01:51
本帖最後由 不知火羽 於 2012-9-12 02:19 編輯
換圖片的話 可以試試看用setImageResource看看
通常顯示圖片的的控制元件 可以用ImageView來作
假如顯示圖片的物件叫imageView1
要顯示的圖片叫pic1好了
可以這樣寫
Button button1 = (Button) findViewById(R.id.button1);
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
button1.setOnClickListener(new OnClickListener(){ //設定監聽器
public void onClick(View v) {
imageView1.setImageResource(R.drawable.pic1); //設定圖片
}
});
複製代碼
setImageResource()
從Resource裡面抓取圖片 以上範例就是用這函式
裡面已經將ResourceId轉成圖片 就不必大費周章用 setImageDrawable ()
使用setImageDrawable () 的範例如下
imageView1.setImageDrawable(getResources().getDrawable(R.drawable.pic1));
複製代碼
如果是用多個按鈕去抓
建議可以用陣列寫 比較省時間
如果不想用陣列寫也不勉強~
陣列寫法
1.先定義Resources Id陣列
final static int[] buttonId = {R.id.button1,R.id.button2,R.id.button3,...,R.id.button8))}; //圖片id陣列
final static int[] pic = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,...,R.drawable.pic8}; //按鈕陣列
複製代碼
2.將按鈕和id連接
Button[] buttonArr = new Button[8]; //定義按鈕陣列
for (int i=0;i<8;i++)
buttonArr[i] = (Button) findViewById(buttonId); //陣列中的按鈕一個個做連接
複製代碼
3.定義OnClickListener監聽器
private class MyButtonClickListener imprements OnClickListener{
private int index; //定義類別內的序數
public MyButtonClickListener(int index){
this.index = index; //序數存進去
}
public void onClick(View v) {
imageView1.setImageResource(pic[index]); //設定圖片
}
}
複製代碼
如果要讓巢狀類別抓取imageView1記得先在原本的Activity定義imageView1
private ImageView imageView1;
複製代碼
在到onCreate()去做連接
imageView1 = (ImageView) findViewById(R.id.imageView1);
複製代碼
4.將OnClickListener監聽器註冊到按鈕上
for (int i=0;i<8;i++)
buttonArr[i].setOnClickListener(new MyButtonClickListener(i));
複製代碼
此迴圈可和第二步驟的迴圈合併 如下
Button[] buttonArr = new Button[8]; //定義按鈕陣列
for (int i=0;i<8;i++){
buttonArr[i] = (Button) findViewById(buttonId); //陣列中的按鈕一個個做連接
buttonArr[i].setOnClickListener(new MyButtonClickListener(i));//註冊監聽器
}
複製代碼
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1