我正在寻找以下问题的解决方案:如何将a的大小更改Bitmap为固定大小(例如512x128).必须保留位图内容的宽高比.
我认为它应该是这样的:
创建一个空的512x128位图
缩小原始位图以适应512x128像素并保持纵横比
将缩放复制到空位图(居中)
实现这一目标的最简单方法是什么?
所有这一切的原因是,GridView当图像的纵横比不同时,会混淆布局.这是一个截图(除最后一个之外的所有图像的纵横比为4:1):
我ArrayAdapter为a 创建了一个自定义Spinner.不同的是,它显示ArrayList的是复杂类而不是纯文本的图像.它到目前为止工作.图像和单选按钮根据需要显示.问题是,下拉视图的行为不正确:它不会在单击时关闭,只有单选按钮可以单击而不是整个视图.
有人知道什么是错的吗?我一定要实现某种listener的adapter?
这是getDropDownView方法的代码:
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout view=(LinearLayout)inflater.inflate(R.layout.spinnerimageitem, null);
ImageView iv=(ImageView)view.getChildAt(0);
RadioButton rb=(RadioButton)view.getChildAt(1);
int iImageID=ctx.getResources().getIdentifier(
"f_"+funcs.get(position).getBitmapSetup(),
"drawable", ctx.getPackageName());
if(loco.getFunction(iIndex).equals(funcs.get(position)))
rb.setChecked(true);
iv.setImageResource(iImageID);
return(view);
}
Run Code Online (Sandbox Code Playgroud)