Android 照相机触摸浮层之探索

news/2024/7/8 5:23:44 标签: android, button, 商业智能, dialog, ui, 图形
最近研究Android Camare,看到Camare研发的照相应用软件特别好用,缺点,不能符合商业智能上传。通过SurfaceView可让人自由设计UI,一些常规化的东东还是做不了。这样的话屏幕显示的尺寸有会有所限制,如果全屏效果会如何,UI上的图形按钮将会消失。研究过Camare的程序员基本都会碰到一个怪象,android的竖屏成像偏转90°,横屏一切正常。在OnCraeat中设置全屏,然后在Manifest中设置android:screenOrientation="landscape" 这样给使用这一种舒适的感觉,从可视化的角度说横竖屏相同,但是在SD卡中的照片依然是竖屏比正常偏转90°,横屏正常,这也符合照相机的特点。我们拿几千块钱买个照相机还不是有偏转的吗,这就叫商业忽悠用户的眼睛—飞哥的观点(也许在底层就做了严格的定制,所以UI开发只能顺应了)。转载请注明处:飞哥的专栏and闲云野鹤/*** 研发者:飞哥* 邮箱:wangfei.2088@163.com* 系统说明:手机下订单后拍照上传* 研发时间:2011-07-23 07:00:00*///触摸照相机屏幕@Overridepublic boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stub//当手指按下时发生的事情if (event.getAction() == MotionEvent.ACTION_DOWN) {IsShowHide();}return true;}//显示与隐藏private void IsShowHide() {if (flag) {mDialog.show();flag = false;}else {mDialog.hide();flag = true;}}//飞哥浮层关键代码public void FeiGe_FloatStyle() {mDialog = new Dialog(FeiGeShoot.this, R.layout.dialog); Window window = mDialog.getWindow(); window.requestFeature(Window.FEATURE_NO_TITLE); window.setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); window.setGravity(Gravity.RIGHT); window.setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); mDialog.setContentView(R.layout.tip); mDialog.setFeatureDrawableAlpha(Window.FEATURE_OPTIONS_PANEL, 0); mDialog.setFeatureDrawableAlpha(Window.FEATURE_OPTIONS_PANEL, 0); btnUploadPhoto = (Button) mDialog.findViewById(R.id.btnUploadPhoto); // 获得Button对象ib = (ImageButton) mDialog.findViewById(R.id.ibShoot);btnReShoot = (Button) mDialog.findViewById(R.id.btnShootBack); // 返回按钮ib.setOnClickListener(new ImageButton.OnClickListener() {@Overridepublic void onClick(View v) { // 飞哥拍照camera.takePicture(myShutterCallback, myRawCallback, myjpegCallback);InputCameraDialog();}});btnUploadPhoto.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View v) { // 按下确定上传按钮Toast.makeText(ShootActivity.this, "飞哥上传", 5000).show();}});// 飞哥退出btnReShoot.setOnClickListener(new Button.OnClickListener() {@Overridepublic void onClick(View v) {ShootActivity.this.finish();}});} 转载请注明处:飞哥的专栏and闲云野鹤

http://www.niftyadmin.cn/n/1728055.html

相关文章

uniapp离线打包

基于uni-app的andiord 离线打包 开发工具及所需要的夹包 1.Android Studio 下载地址 Android Studio官网 2.HBuilderX下载地址 这里HBuilderX版本也是用的 3.2.9 版本的 3.App离线SDK下载 最新android平台SDK下载 4.这里集成是3.2.9版本SDK下载地址 ;提取码&#…

723 驶向天堂的列车

有人活着想上天堂可谁愿为上天堂而死没有,我深信来不及看看父母,爱人,孩子突然的离去有人死也不去地狱可谁愿在那永世不得投胎没有,我肯定来的及的时候多陪陪自己的亲人不要那么匆忙列车啊列车你的出轨让国人震撼,世人…

MySQL学习:全局锁和表锁

数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。 锁是用于多用户并发控制的。 用途:是用来解决多用户并发冲突的。&…

vsCode格式化文档

vsCode格式化文档-html属性不换行(css格式话) 打开 文件-首选参数-设置 在搜索框输入settings 点击 settings.josn编辑 代码如下: {"editor.fontSize": 16,"git.path": "D:/Path/Git/cmd/git.exe",//配置git…

asp.net 对话框处理

protected void btnCallBack_Click(object sender, EventArgs e) { string js string.Format("document.getElementById({0}).valueconfirm(是否确认?);document.getElementById({1}).click();", hid.ClientID, LinkButton1.ClientID); ClientScript.RegisterStart…

vue的form表单验证

vue的form表单验证 vue自定义form表单验证 1.template模板代码 <template><el-form size"mini" :rules"dataRule" ref"dataForm" keyup.enter.native"dataFormSubmit()" label-width"180px"><el-row>&…

python读写数据读写csv文件--pandas用法

python中数据处理是比较方便的&#xff0c;经常用的就是读写文件&#xff0c;提取数据等&#xff0c;本博客主要介绍其中的一些用法。Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。 …

Android 在线升级APK

Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);Dialog dialog new AlertDialog.Builder(Cockhorse.this) .setTitle("系统更新") .setMessage("发现新版本&#xff0c;请更…