簡體   English   中英

Java(Android):如何在沒有Bitmap的情況下縮放drawable?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM