2016-11-26 136 views
0

我已經創建了一個動態按鈕來流行我的主要活動。 按鈕正常工作。 但即時通訊設置圖像背景。設置按鈕背景圖像大小(java代碼)

我已經測試了一切,但img的結果是如此糟糕。

如何將圖像完美縮放到按鈕的大小?

我已經測試了這一點,但東陽的getWidth不行給我errore> 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 

回答

0

公開賽在各種圖像包項目展示和項目視圖即:HDMI,xhdmi,xxhdmi等。把相同圖像的不同大小的相同名稱在xml中引用爲可繪製/「圖像名稱」

0

您最好使用9補丁背景。在你的java文件 並設置背景一樣

button.setBackground(your 9-patch);

tutorial for 9-Patch

0

,如果你想給可點擊我會建議使用的ImageButton,而不是按鈕

如果使用的ImageButton你可以用下面的代碼來設置圖像資源

imageView.setBackgroundResource(R.drawable.your_drawable); 

對於圖形,我會建議,而不是圖像載體。

Vector Asset Studio Tutorial

Vector Asset Studio In Android Studio