最近的一些代码总结
来源:互联网 发布:raid2数据分布图示 编辑:程序博客网 时间:2024/04/30 19:35
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近在写App的时候碰到一些很好玩的问题,现在总结一下:</span>
1,如何截取App中某一部分的图片,并保存,然后分享。
首先咱们来说说如何截取App中的某一部分图片,废话不多说,代码写起来:
a、找到要截取部分对应的View:
比如你在点击某个按钮的时候需要将这个按钮所在整个ListView 里面的Item截取出来,那么你要做的就是在这个按钮的点击事件里面通过V.getParent()来获取相应的父组件,接着用获取到的view来获取它的截图,具体代码:
/** * get bitmap from given view * @param view * @return Bitmap */ public static Bitmap getBitmapFromView(View view) { Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(returnedBitmap); Drawable bgDrawable = view.getBackground(); if (bgDrawable != null) bgDrawable.draw(canvas); else canvas.drawColor(Color.WHITE); view.draw(canvas); return returnedBitmap; }
在获取View对应的bitmap之后就可以将它保存到sd卡了:
public static String getSDPath(){ File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在 if (sdCardExist) { sdDir = Environment.getExternalStorageDirectory();//获取根目录 } return sdDir.toString(); } /** * 保存文件 * @param bm * @param fileName * @throws IOException */ public static String saveFile(Bitmap bm, String fileName){ String path = getSDPath() +"/screenshot/"; File dirFile = new File(path); if(!dirFile.exists()){ dirFile.mkdir(); } File myCaptureFile = new File(path + fileName); BufferedOutputStream bos = null; try { bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile)); bm.compress(Bitmap.CompressFormat.JPEG, 80, bos); bos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } String fileString = myCaptureFile.getAbsolutePath(); Log.i("ScreenShotUtil",fileString); return fileString; }
然后就把对应的文件分享就可以了。
第二个问题——RadioButton的文本居中:
我在写Android代码的时候碰到这样一个问题,我明明将这个RadioButton的gravity设为center了,但是这个设置在Android4.4下面的预览是正常的,但一到Android4.0就出问题了,后一经搜索发现,原来只要将这个RadioButton的paddingLeft设为“0dp”就行了。这样也可以?。。。
0 0
- 最近的一些代码总结
- 最近的一些代码总结
- 最近的一些总结
- 最近的一些总结
- 最近的一些总结
- [战略]最近整理代码的一些总结和未来规划
- 最近学习安卓中总结的一些知识点 复制代码
- 最近的一些小总结
- 最近的一些自我总结
- 关于最近的一些总结
- 最近的一些总结一点点
- 最近前端的一些总结
- 最近写代码的总结
- 总结最近遇到的一些异常处理
- 最近一些给力的总结
- 最近写飞秋程序的一些总结
- 最近看到或是总结的一些观点
- 最近遇到的一些小问题总结
- c++使用预编译快速编译工程
- Android GPS 简介
- Java程序开发中的简单内存分析
- android渲染机制(waiting)
- Anton and Letters
- 最近的一些代码总结
- 完整的JBPM撤回功能的Command示例
- UVa10269 Adventure of Super Mario
- 批处理中set截取字符详解
- mybatis实战教程(mybatis in action)之四:实现关联数据的查询
- 实现iOS长时间后台的两种方法:Audiosession和VOIP
- Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)
- 教你如何塑造JavaScript牛逼形象
- android crash日志捕获