我在使用 S4 时遇到问题。我的标题中填充了文本和资源。
SpannableStringBuilder builder = new SpannableStringBuilder();
if (group != null && channel != null) {
builder.append(group.name.toUpperCase(Locale.ENGLISH));
int length = group.name.length();
builder.append(" ");
Drawable arrow = getActivity().getResources().getDrawable(R.drawable.ic_arrow_right);
arrow.setBounds(0, 0, 13, 30);
ImageSpan myImage = new ImageSpan(arrow);
builder.append(" ");
builder.setSpan(myImage, length + 1, length + 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(channel.name.toUpperCase(Locale.ENGLISH));
header.backgroundColor(group.getUIColor());
箭头在这个更高分辨率的设备上显得小了很多。我添加了一个新的资源文件夹 drawable-xxhdpi 并将图像大小增加了四倍并将其放入该文件夹中,但箭头大小或位置没有改变。我错过了什么吗?
S4:
在其他设备上:
最佳答案
arrow.setBounds(0, 0, 13, 30);
您正在限制可绘制对象的大小,因此即使您扩大图像大小,可绘制对象也将具有 13 x 30 像素。尽量不要对此进行限制或考虑屏幕的密度并将边界乘以密度。
关于android - XXHDPI 中的可绘制箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17299709/