gpt4 book ai didi

java - 显示黑色矩形的可绘制对象

转载 作者:行者123 更新时间:2023-11-30 03:56:09 25 4
gpt4 key购买 nike

此问题仅发生在随机设备上。例如,我的 G Nexus 可以正确显示图标,但我 friend 的不能。

我的可绘制对象都存储在“可绘制对象”文件夹中,而不是具有特定像素密度的对象。

它能正确显示其他图标。只有我使用 Drawables 以编程方式创建的那个才会出错。

日志猫似乎没有抛出任何异常。

出于某种原因,仅在某些设备上,我尝试绘制的图标显示为黑色矩形。这只发生在我第一次转换成 Drawable 的图标上。我的代码如下:

public static class GridItem {
public String text;
public Drawable image;
public Intent intent;
public GridItem(String text, Drawable Image, Intent intent) {
this.text = text;
this.image = image;
image.setBounds(0, 0, 160, 160);
this.intent = intent;
}
}

下面是我创建 Drawables 的方式:

gridItems.add(new GridItem("Schedule", getResources().getDrawable(R.drawable.schedule),
new Intent(this, ScheduleActivity.class)));

这是 BaseAdapter 类:

public class GridMenuAdapter extends BaseAdapter {

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View item = getLayoutInflater().inflate(R.layout.grid_item_layout, null);
item.setPadding(0, 50, 0, 40);
GridItem current = gridItems.get(position);
TextView label = (TextView)item.findViewById(R.id.item_label);
label.setText(current.text);
label.setCompoundDrawables(null, current.image, null, null);
label.setCompoundDrawablePadding(32);
item.setMinimumHeight(300);
return item;
}

@Override
public final int getCount() {
return gridItems.size();
}

@Override
public Object getItem(int position) {
return gridItems.get(position);
}

@Override
public long getItemId(int position) {
return position;
}
}

最佳答案

已解决:较新版本的 Android 不喜欢 .gif 文件,所以我将它们全部转换为 png,现在可以正常工作了。

关于java - 显示黑色矩形的可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13325718/

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