button.setBackgroundResource(R.drawable.zhadan1);设置图片的大小跟button一样大
时间: 2024-03-13 15:43:55 浏览: 67
可以通过设置`ScaleType`属性来实现将图片的大小调整为与`Button`控件一样大。例如,可以设置`ScaleType`为`FIT_XY`,然后将`Button`的`background`设置为图片资源即可:
```
button.setScaleType(ImageView.ScaleType.FIT_XY);
button.setBackgroundResource(R.drawable.zhadan1);
```
这样就可以将图片缩放到与`Button`控件一样大。
相关问题
Button button;button.setBackgroundResource(R.drawable.button1);如何将图片botton1的大小改为button的大小
您可以使用以下代码将图片 `button1` 的大小设置为与 `button` 相同:
```java
Drawable drawable = getResources().getDrawable(R.drawable.button1);
drawable.setBounds(0, 0, button.getWidth(), button.getHeight());
button.setBackground(drawable);
```
这里,`getDrawable()` 方法将 `R.drawable.button1` 转换为 `Drawable` 对象。接下来,`setBounds()` 方法将 `Drawable` 对象的大小设置为按钮的大小。最后,`setBackground()` 方法将 `Drawable` 对象设置为按钮的背景。
需要注意的是,如果在 `onCreate()` 方法中调用此代码段,则 `button` 的大小可能尚未确定。在这种情况下,您可以尝试在 `onWindowFocusChanged()` 方法中调用此代码段,以确保按钮的大小已经确定。例如:
```java
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
Drawable drawable = getResources().getDrawable(R.drawable.button1);
drawable.setBounds(0, 0, button.getWidth(), button.getHeight());
button.setBackground(drawable);
}
}
```
这样可以确保在窗口获得焦点时按钮的大小已经确定。
Button button; button.setBackgroundResource(R.drawable.qizi);怎么判断button的背景是R.drawable.qizi这个图片
要判断Button的背景是否为R.drawable.qizi这个图片,可以通过以下方式实现:
1. 获取Button的背景Drawable对象:
```
Drawable background = button.getBackground();
```
2. 判断Drawable对象是否为BitmapDrawable类型:
```
if (background instanceof BitmapDrawable) {
// 如果是BitmapDrawable类型,继续判断是否为R.drawable.qizi这个图片
}
```
3. 如果是BitmapDrawable类型,可以获取其Bitmap对象,再通过Bitmap对象判断是否为R.drawable.qizi这个图片:
```
BitmapDrawable bitmapDrawable = (BitmapDrawable) background;
Bitmap bitmap = bitmapDrawable.getBitmap();
if (bitmap == BitmapFactory.decodeResource(getResources(), R.drawable.qizi)) {
// 如果是R.drawable.qizi这个图片,执行相应的逻辑
}
```
需要注意的是,判断Bitmap对象是否为R.drawable.qizi这个图片时,需要将该图片解码成Bitmap对象,再与获取到的Bitmap对象进行比较。
阅读全文