【发布时间】:2016-11-26 16:03:02
【问题描述】:
我创建了一个动态按钮来填充我的主要活动。 按钮工作正常。 但我想设置一个图像背景。
我已经测试了所有东西,但是img的结果太糟糕了。
如何将图片完美缩放到按钮大小?
我已经对此进行了测试,但无法正常工作,因为 getWidth 给我错误 >0
int newWhidt=button.getWidth();
int newHeight=button.getHeight();
Bitmap originalbitmap= BitmapFactory.decodeResource(getResources(),R.drawable.trasparent);
Bitmap scaleBitmap= Bitmap.createScaledBitmap(originalbitmap,newWhidt,newHeight,true);
Resources resource=getResources();
button.setBackgroundDrawable(new BitmapDrawable(resource, scaleBitmap));
这是我的代码
private void creabottoni(){
TableLayout table=(TableLayout) findViewById(R.id.tableforbuttons);
for(int row=0; row < NUM_ROWS; row++){
TableRow tableRow=new TableRow(this);
tableRow.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.MATCH_PARENT,
1.0f));
table.addView(tableRow);
for(int col=0;col < NUM_COL; col++){
final int FINAL_COL=col;
final int FINAL_ROW=row;
//Drawable immagine= getResources().getDrawable(R.drawable.trasparent);
final int FINAL_ID=buttonid;// creo FINAL_ID PER PASSARE ID A ACTIVITY OPERATORE
Button button=new Button(this);
button.setLayoutParams(new TableRow.LayoutParams(
TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.MATCH_PARENT,
1.0f));
Cursor res =myDB.getnamebyidbutton(buttonid);
buttonid++;
res.moveToFirst();
//**********METTO TESTO BOTTONI FUNZIONA RES DBHELPER****************************************************
button.setText(res.getString(res.getColumnIndex("NOME")));
//qui controllo quale bottone ho premuto
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
bottonepremuto(FINAL_ID);
}
});
}//fine ciclo colonna
}//fine ciclo riga
}//fine creabottoni
【问题讨论】:
标签: android image button background scale