gpt4 book ai didi

android - 为什么 setImageBitmap 对自定义 ImageButton 没有影响?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:59:31 24 4
gpt4 key购买 nike

我找到了 this说明如何在我的 ImageButton 上制作发光效果的链接。因此,每当用户按下 ImageButton 时,都会调用 onTouchEvent() 函数,然后我会调用 setImageBitmap() 函数。问题是这个函数 (setImageBitmap()) 似乎根本没有效果。

什么有效:

1) 到目前为止,我扩展了 ImageButton 如下

// Pen.java
public class Pen extends ImageButton {
public Pen(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
System.out.println("Now I am setting Pen");
return true;
}


}

然后在 Activity 中创建 Pen(自定义 ImageButton)实例,定义 setGlow() 并调用 setImageBitmap() 来自 Pen 的实例。

//MainActivity.java

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Pen myImgbutton;
myImgbutton = (Pen) findViewById(R.id.pen);

myImgbutton.setImageBitmap(setGlow(R.drawable.pen));

}
}

public Bitmap setGlow(int resourceId) {
......
}

什么不起作用:

1) 与上面相同(在 android 中扩展 ImageButton ),但这次我调用 onTouchEvent() 内部的 setImageBitmap 函数。对于这种情况,我在 Pen.java 中定义了 setGlow 函数

// Pen.java
public class Pen extends ImageButton {
public Pen(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
System.out.println("Now I am setting Pen");
// Here I say to apply the glow effect to the image
setImageBitmap(setGlow(R.drawable.pen));
return true;
}

public Bitmap setGlow(int resourceId) {
....
}
}

然后在 xml 文件中我做:

  .....

<com.example.testsetimagebmp.Pen
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/pen"
android:background="@drawable/pen" />

....

终于在MainActivity

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
// ....
}

最佳答案

我认为这可能是典型的内存不足问题。如果你想检查是否属实,你可以尝试使用启动器图标的位图:

public class Pen extends ImageButton {
public Pen(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
System.out.println("Now I am setting Pen");
// Here I say to apply the glow effect to the image
setImageBitmap(setGlow(R.mipmap.ic_launcher));
return true;
}

public Bitmap setGlow(int resourceId) {
....
}
}

如果这是问题,请检查此 link .

关于android - 为什么 setImageBitmap 对自定义 ImageButton 没有影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36853094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com