我正在尝试在BLE设备上显示数据。 BLE设备仅接受图像,因此我需要将文本转换为图像并将其发送到设备进行显示。发送不同的android设备的图像时,我得到了不同的图像大小或文本大小。我正在检查设备是平板电脑还是手机,并相应地创建图像。
if(isTablet(context)){createTextViewFromText(myTextFromAPI,16,true,165,40,key,190,122,false);}
else
{createTextViewFromText(myTextFromAPI,8,true,165,40,key,190,122,false)}
public Bitmap createTextViewFromText(String text, int size, boolean isBold, int lwidth, int lheight){
ViewGroup.LayoutParams lparams = new ViewGroup.LayoutParams(
lwidth, lheight);
TextView tv=new TextView(context);
tv.setBackgroundColor(Color.WHITE);
tv.setLayoutParams(lparams);
tv.setText(text);
tv.setTextSize(size);
tv.setTextColor(Color.BLACK);
if(isBold){
tv.setTypeface(null, Typeface.BOLD);
}
tv.setGravity(Gravity.CENTER);
Bitmap bitmap = createBitmapfromTextView(tv);
return bitmap;
}
public Bitmap createBitmapfromTextView(TextView tv) {
Bitmap b = Bitmap.createBitmap(tv.getLayoutParams().width,tv.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
tv.layout(0,0,tv.getLayoutParams().width, tv.getLayoutParams().height);
tv.draw(c);
return b;
}
在这种情况下,我应该检查什么?