尽管我在drawable文件夹中有一个非常小的图像,我从用户那里得到了这个错误.我没有在代码中使用任何位图功能.至少故意:)
java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:683)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:513)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:889)
at android.content.res.Resources.loadDrawable(Resources.java:3436)
at android.content.res.Resources.getDrawable(Resources.java:1909)
at android.view.View.setBackgroundResource(View.java:16251)
at com.autkusoytas.bilbakalim.SoruEkrani.cevapSecimi(SoruEkrani.java:666)
at com.autkusoytas.bilbakalim.SoruEkrani$9$1.run(SoruEkrani.java:862)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
根据这个stackTrace,我在这一行得到了这个错误('tv'是一个textView):
tv.setBackgroundResource(R.drawable.yanlis);
Run Code Online (Sandbox Code Playgroud)
问题是什么?如果您需要有关代码的其他信息,我可以添加它.谢谢!
我试图设置UIButton的cornerRadius,但我不知道该怎么做.
如果我喜欢这样:
button.layer.cornerRadius = 5;
Run Code Online (Sandbox Code Playgroud)
效果很好,如果我这样做:
button.layer.cornerRadius = 5;
[button setBackgroundColor:[UIColor colorWithPatternImage:radialGradient]];
Run Code Online (Sandbox Code Playgroud)
角落不圆.
我知道我可以解决这个问题
[button.layer setMasksToBounds:YES];
Run Code Online (Sandbox Code Playgroud)
但我特意寻找不同的解决方案,因为我在按钮上添加了一些箭头,如果我将蒙版设置为边界,则箭头会被遮盖.
编辑:
radialGradient是whit func
+ (UIImage *)getRadialGradientImage:(CGSize)size centre:(CGPoint)centre radius:(float)radius startColor:(UIColor *)startColor endColor:(UIColor *)endColor{
// Initialise
UIGraphicsBeginImageContextWithOptions(size, YES, 1);
// Create the gradient's colours
size_t num_locations = 2;
CGFloat locations[2] = { 0.0, 1.0 };
const CGFloat *component_first = CGColorGetComponents([startColor CGColor]);
CGFloat red1 = component_first[0];
CGFloat green1 = component_first[1];
CGFloat blue1 = component_first[2];
const CGFloat *component_second = CGColorGetComponents([endColor CGColor]);
CGFloat red2 = component_second[0];
CGFloat green2 …Run Code Online (Sandbox Code Playgroud) 我正在和我一起工作FloatingActionButton.用户应该能够在onClick事件中切换FAB背景颜色.
但是,建议的调用setBackgroundTintList似乎只能兼容21+ API.
我如何 - 正确 - 在棒棒糖前设备上进行操作?我可以使用任何替代方案吗?
提前致谢.
我正在构建一个拥有大量屏幕的应用程序.大多数屏幕顶部都有一个带有背景颜色的View.
我经常使用view.setBackgroundColor(color)更改颜色
这是奇怪的事情:有时在设置一个视图的颜色后,对#f14fb7说,当在应用程序中导航时,其他视图的背景设置为该颜色而我不想要它们.它有时甚至发生在我没有为其设置id的视图中,因此在这些视图上无法调用setBackgroundColor.
这很少发生,并且不符合我尝试过的任何流程.
当我杀死应用程序并重新启动它时,一切正常.
我唯一的猜测是内存泄漏之王,但我希望有一个更简单的解释.
谁能想到这种情况发生的原因?
*它发生在我的Galaxy S3上.
我有下面的自定义JPanel,我已经使用Netbeans GUI构建器将其添加到我的框架中,但背景不会改变!我可以看到圆圈,用g.fillOval()绘图.怎么了?
public class Board extends JPanel{
private Player player;
public Board(){
setOpaque(false);
setBackground(Color.BLACK);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.red);
g.fillOval(player.getxCenter(), player.getyCenter(), player.getRadius(), player.getRadius());
}
public void updatePlayer(Player player){
this.player=player;
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下简单的代码:
btn = new JButton();
btn.setBackground(backgroundColor)
Run Code Online (Sandbox Code Playgroud)
我用的时候工作过:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
Run Code Online (Sandbox Code Playgroud)
但是在我评论了上述内容后,它停止了工作.有没有人知道为什么会发生这种情况以及如何在不使用明确外观的情况下为按钮设置背景颜色?
添加
在我看来,我需要使用getBackground.但是我不知道怎么做.
如何将整数ex:13369395中的颜色代码转换为特定于android.由于13369395也是我试过的整数
mainLayout.setTextColor(13369395);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我也尝试将13369395转换为十六进制,如:
mainLayout.setBackgroundColor(Integer.parseInt(13369395 +"", 16)+0xFF000000);
Run Code Online (Sandbox Code Playgroud)
但它也没有帮助.
搜索谷歌半小时后,我放弃了!:)
在我设置的JFrame上,我有一个带有一些gui的程序,
setBackground( new Color(107, 106, 104) );
Run Code Online (Sandbox Code Playgroud)
[问题]它呈现出灰色,但不是正确的颜色!如果我在Photo Shop中检查gui的颜色,它会给我RGB值(126,125,123)
我真的很沮丧..有人有同样的问题吗?
PS.我尝试过HEX值,结果相同.
最好的问候,Juri
这是我的屏幕:
final class GeneralExpenseViewScreen extends MainScreen {
public GeneralExpenseViewScreen() {
super();
LabelField title = new LabelField("TeamMate TEC | Expenses",
LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);
setTitle(title);
Background bg = BackgroundFactory.createSolidBackground(0xBDBDDB);
setBackground(bg);
HorizontalFieldManager headerAreaManager = new HorizontalFieldManager();
HorizontalFieldManager filterAreaManager = new HorizontalFieldManager();
HorizontalFieldManager expenseListAreaManager = new HorizontalFieldManager();
HorizontalFieldManager totalAreaManager = new HorizontalFieldManager();
HorizontalFieldManager addNewAreaManager = new HorizontalFieldManager();
add(headerAreaManager);
add(filterAreaManager);
add(expenseListAreaManager);
add(totalAreaManager);
add(addNewAreaManager);
/**Begin form layouts**/
Bitmap headerImage = Bitmap.getBitmapResource("sergioheader.png");
BitmapField header = new BitmapField(headerImage);
headerAreaManager.add(header);
}
public boolean onClose() {
Dialog.alert("AH!");
System.exit(0);
return true; …Run Code Online (Sandbox Code Playgroud) 在 python 中使用 pyqtgraph 模块时遇到问题。当我将白色背景颜色添加到 glscatterplot 时,散点就会消失。就像如果背景颜色被添加到散点图的颜色中,那么一切都是白色的。这是我使用的一段代码:
w = gl.GLViewWidget()
w.setBackgroundColor('w')
w.show()
sp3 = gl.GLScatterPlotItem(pos=np.transpose(pos3), color=rgba_img, size=1, pxMode=False)
w.addItem(sp3)
Run Code Online (Sandbox Code Playgroud)
如果我在 setBackgroundColor 方法中将 ('w') 替换为 ('k'),则分散的颜色很好,背景为黑色。有没有其他人遇到过这个问题?
setbackground ×10
android ×3
java ×3
swing ×3
colors ×2
background ×1
bitmap ×1
blackberry ×1
cornerradius ×1
hex ×1
ios ×1
jbutton ×1
jpanel ×1
pyqtgraph ×1
python ×1
rgb ×1
scatter-plot ×1
uibutton ×1
view ×1
views ×1