0
您好朋友是新來的android。我創建了一個填充4個選項卡的應用程序表單,現在如果其編輯文本填充按鈕點擊保存,則需要佈局的屏幕截圖。是否有可能在Android的做,如果沒有任何格式,但我想等領域的副本,它的形象需要TabHost佈局的位圖圖像
Calendar.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//getScreenViewBitmap(vs);
loadBitmapFromView(vs);
}
});
}
public static RelativeLayout createProgrammeView
(Context context, int width, int height, String title, String time) {
RelativeLayout.LayoutParams params;
RelativeLayout rlv = new RelativeLayout(context);
params = new RelativeLayout.LayoutParams(width, height);
rlv.setLayoutParams(params);
rlv.setPadding(3, 3, 3, 3);
//rlv.setBackgroundResource(R.drawable.background);
TextView tv = new TextView(context);
params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
tv.setId(R.id.textView1);
tv.setLayoutParams(params);
tv.setGravity(Gravity.CENTER_VERTICAL);
tv.setSingleLine(true);
tv.setEllipsize(TruncateAt.END);
tv.setTextColor(Color.parseColor("#fff"));
tv.setTextSize(11);
tv.setText(title);
rlv.addView(tv);
tv = new TextView(context);
params = new RelativeLayout.LayoutParams(16, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.textView1);
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
params.setMargins(0, 4, 0, 0);
tv.setId(R.id.time);
tv.setLayoutParams(params);
tv.setGravity(Gravity.CENTER_VERTICAL);
tv.setSingleLine(true);
tv.setEllipsize(null);
tv.setTextColor(Color.parseColor("#fff"));
tv.setTextSize(10);
tv.setText(time);
rlv.addView(tv);
return rlv;
}
public static Bitmap loadBitmapFromView(RelativeLayout v) {
Bitmap b = Bitmap.createBitmap(582, 136, Bitmap.Config.ARGB_8888);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
System.out.println(b);
File f = new File(Environment.getExternalStorageDirectory()
+ File.separator + "test1111.jpeg");
FileOutputStream fo;
try {
fo = new FileOutputStream(f);
fo.write(bytes.toByteArray());
fo.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(f.exists());
Canvas c = new Canvas(b);
v.draw(c);
return b;
}
喜在上面的代碼中的相對佈局,其中我試圖爲佈局輸出圖像,但它顯示空的黑色圖像沒有任何東西,但它創建一個文件。此外,當我點擊出現在佈局的角度看變化
java.lang.IllegalArgumentException異常:寬度和高度必須是> 0的ITs顯示錯誤。 如何查看保存的圖像。 @Youddh – Manju
你有沒有嘗試通過方法..中的TabHost佈局? – Youddh
請檢查以上代碼,我如何使用。它在正常佈局中完成,因爲我首先想知道它的過程。所以我可以把它放在Tab Host中並嘗試。它在上面的代碼中也顯示了同樣的錯誤 java.lang.IllegalArgumentException:如果傳遞R.id.utils需要傳遞v(View),則width和height必須大於0 – Manju