2017-04-05 62 views
0

我正在將代碼中的圖像應用到ImageButton中,但我想知道是否有比我的示例中顯示的更好的方法。我當然知道這不是正確的做法,因爲它可能會花費太多的時間與大量的意見。Android:循環播放大量的ImageButtons

btn1.setImageResource(R.drawable.plus); 
    btn2.setImageResource(R.drawable.plus); 
    btn3.setImageResource(R.drawable.plus); 
    btn4.setImageResource(R.drawable.plus); 
    btn5.setImageResource(R.drawable.plus); 

btn1.setAdjustViewBounds(true); 
    btn1.setPadding(0,0,0,0); 
    btn2.setAdjustViewBounds(true); 
    btn2.setPadding(0,0,0,0); 
    btn3.setAdjustViewBounds(true); 
    btn3.setPadding(0,0,0,0); 
    btn4.setAdjustViewBounds(true); 
    btn4.setPadding(0,0,0,0); 
    btn5.setAdjustViewBounds(true); 
    btn5.setPadding(0,0,0,0); 

回答

0

你需要得到根視圖中的活動,將其轉換爲ViewGroup,讓所有的孩子,檢查它們的類型,並相應更新。即如下,

ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content); 
int children = rootView.getChildCount(); 
for (int i = 0; i < children; i++) { 
    View view = rootView.getChildAt(i); 
    if (view instanceof ImageButton) { 
     ((ImageButton) view).setImageResource(R.drawable.plus); 
     ((ImageButton) view).setAdjustViewBounds(true); 
     ((ImageButton) view).setPadding(0,0,0,0); 
    } 
} 
+0

複製了代碼,但它沒有做任何事情。我必須添加/更改某些內容嗎?對不起,我是圖形新手。 –

+0

這應該取代您提供的代碼片段,因爲它與您已發佈的內容完全相同,但是是動態的。我認爲這是你想要的,對吧? –

+0

是的,看起來像我想要的,但是當我運行它時,它現在什麼都不做。 –