Java (Android): come scalare un disegno senza Bitmap?

Devo scalare l'image di background di un button, ma non posso trasformarlo in un bitmap. Ecco il codice adesso:

int height = 50; int width = 80; Button b = new Button (this); b. setBackgroundResource(R.drawable.btn); 

Ora devo scalare "R.drawable.btn" in base all'altezza e alla width. Il setBackgroundResource non accetterà un bitmap. Come lo faccio?

  • Visualizzazione di più stringhe su Logcat
  • Problema di messa a fuoco con più EditTexts
  • Android Picasso - Carattere di image di Placeholder e Error
  • Webview di setLayerType di Android
  • Il setShadowLayer () funziona su un button?
  • Come salvare lo stato quando l'attività è stata distrutta con questo
  • Grazie.

  • Rileva lo stato di due tabs SIM in un telefono Android dual SIM
  • Come mettere risorse variables all'interno delle stringhe?
  • android RadioButton button gravità disegnabile
  • Android getupportedvideosizes restituisce null sull'emulatore
  • Problema di accuratezza della posizione di Android GPS
  • Gli aggiornamenti di località non funzionano all'interno come affermato dalle API di location provider di Fusion
  • 2 Solutions collect form web for “Java (Android): come scalare un disegno senza Bitmap?”

    È ansible consentire ai parametri di layout di controllare la scala o di scalare l'image da soli.

    Consentire al layout di scalare l'image:

     b.setBackground(getResources().getDrawable(R.drawable.btn)); 

    Scala l'image manualmente:

     Bitmap original = BitmapFactory.decodeResource(context.getResources(), R.drawable.btn); Bitmap b = Bitmap.createScaledBitmap(original, width, height, false); Drawable d = new BitmapDrawable(context.getResources(), b); button.setBackground(d); 

    Attenzione : l'image potrebbe non apparire sullo schermo scalata esattamente come si prevede. Ciò è dovuto al fatto che, a seconda dei parametri di layout del Button , Android può inoltre scalare l'image in base alla densità dello schermo hardware del dispositivo.

    questo trasformsrà una bitmap in un disegni

     image = new BitmapDrawable(getResources(),MenuScreen.image1); 

    l'image è il disegno e l'image1 è la bitmap

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.