[英]Java (Android): How to scale a drawable without Bitmap?
我需要縮放按鈕的背景圖像,但不能將其轉換為位圖。 這是現在的代碼:
int height = 50;
int width = 80;
Button b = new Button (this);
b. setBackgroundResource(R.drawable.btn);
現在我需要根據“高度”和“寬度”縮放“R.drawable.btn”。 setBackgroundResource不接受Bitmap。 我怎么做?
謝謝。
您可以允許布局參數控制比例,也可以自己縮放圖像。
允許布局縮放圖像:
b.setBackground(getResources().getDrawable(R.drawable.btn));
手動縮放圖像:
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);
警告 :圖像可能無法在屏幕上按預期縮放。 這是因為根據您的Button
的布局參數,Android可能會根據您設備的硬件屏幕密度另外縮放圖像。
這會將位圖變成可繪制的
image = new BitmapDrawable(getResources(),MenuScreen.image1);
image是drawable,image1是bitmap
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.