您现在的位置是:心海E站 > 文案短句 > >正文
androidmenu(androidMENU自定义开发)
发布时间:2023-11-14 07:39:39 admin 阅读:59
1、可以在xml中自定义item项目为menu。
二、怎样在Android Menu item中使用自定义View1、可以在xml中自定义item项目为menu。
三、Android 怎么实现自定义menuItem1、可以在xml中自定义item项目为menu。
四、android开发中如何实现手写输入的记事本1、实现手写功能的主要步骤、自定义两个View,一个是TouchView,用于在上面画图,另一个是EditText,用于将手写的字显示在其中,并且,要将两个自定义View通过FrameLayout帧式布局重叠在起,以实现全屏手写的功能。
2、2在TouchView中实现写字,并截取画布中的字以Bitmap保存。
3、设置定时器,利用handle更新界面。
4、下面是实现的细节、手写的界面设计、如上图所示,和上节的画板界面一致,底部分选项菜单栏,有5个选项,分别是调整画笔大小,画笔颜色,撤销,恢复,以及清空,对于这些功能,之后几节再实现。
5、布局文件activity_handwrite.xml可以看出,里面有两个自定义view,并且通过FrameLayout重叠在一起。
6、先来看com.example.notes.LineEditText,这个其实和添加记事中的界面一样,就是自定义EditText,并且在字的下面画一条线。
7、LineEditText.javapublicclassLineEditTextextendsEditText{privateRectmRectprivatePaintmPaintpublicLineEditText(Contextcontext,AttributeSetattrs){//TODOAuto-generatedconstructorstubsuper(context,attrs)mRect=newRect()mPaint=newPaint()mPaint.setColor(Color.GRAY)}@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas)//得到EditText的总行数intlineCount=getLineCount()Rectr=mRectPaintp=mPaint//为每一行设置格式for(inti=0icutLeft?0、cutLeft)cutTop=(0>cutTop?0、cutTop)cutRight=(mBitmap.getWidth()=TOUCH_TOLERANCE||dy>=TOUCH_TOLERANCE){mPath.quadTo(mX,mY,x,y)//mPath.quadTo(mX,mY,(x+mX)/2,(y+mY)/2)//源代码是这样写的,可是我没有弄明白,为什么要这样?mX=xmY=yif(task。
8、=null)task.cancel()//取消之前的任务task=newTimerTask(){@Overridepublicvoidrun(){Messagemessage=newMessage()message.what=1Log.i(线程,来了)handler.sendMessage(message)}}getCutBitmapLocation.setCutLeftAndRight(mX,mY)}}//手抬起时privatevoidtouch_up(){//mPath.lineTo(mX,mY)mCanvas.drawPath(mPath,mPaint)mPath.reset()if(timer。
9、=null){if(task。
10、=null){task.cancel()task=newTimerTask(){publicvoidrun(){Messagemessage=newMessage()message.what=1handler.sendMessage(message)}}timer.schedule(task,1000,1000)//2200秒后发送消息给handler更新Activity}}else{timer=newTimer(true)timer.schedule(task,1000,1000)//2200秒后发送消息给handler更新Activity}}//处理界面事件@OverridepublicbooleanonTouchEvent(MotionEventevent){floatx=event.getX()floaty=event.getY()switch(event.getAction()){caseMotionEvent.ACTION_DOWN、touch_start(x,y)invalidate()//刷新breakcaseMotionEvent.ACTION_MOVE、touch_move(x,y)invalidate()breakcaseMotionEvent.ACTION_UP、touch_up()invalidate()break}returntrue}}这里面的难点就是利用TimerTask和Handle来更新界面显示,需要在onTouchEvent的三个事件中都要通过handle发送消息来更新显示界面。
11、接下来就是在activity里通过handle来得到绘制的字,并添加在editText中。
12、关于配置底部菜单,以及顶部标题栏,这里不再赘述,直接如何将绘制的字得到,并添加在edittext中、得到绘制字体的Bitmap//处理界面Handlerhandler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){super.handleMessage(msg)Bundlebundle=newBundle()bundle=msg.getData()BitmapmyBitmap=bundle.getParcelable(bitmap)InsertToEditText(myBitmap)}}其中myBitmap就是取得的手写字,保存在Bitmap中,InsertToEditText(myBitmap)是将该图片添加在edittext中,具体如下、?1privateLineEditTextet_handwrite?1et_handwrite=(LineEditText)findViewById(R.id.et_handwrite)//将手写字插入到EditText中privatevoidInsertToEditText(BitmapmBitmap){intimgWidth=mBitmap.getWidth()intimgHeight=mBitmap.getHeight()//缩放比例floatscaleW=(float)(80f/imgWidth)floatscaleH=(float)(100f/imgHeight)Matrixmx=newMatrix()//对原图片进行缩放mx.postScale(scaleW,scaleH)mBitmap=Bitmap.createBitmap(mBitmap,0,0,imgWidth,imgHeight,mx,true)//将手写的字插入到edittext中SpannableStringss=newSpannableString(1)ImageSpanspan=newImageSpan(mBitmap,ImageSpan.ALIGN_BOTTOM)ss.setSpan(span,0,1,Spannable.SPAN_INCLUSIVE_EXCLUSIVE)et_handwrite.append(ss)}。
五、Android studio如何增加和设置菜单menu1、打开Androidstudio,首先添加menu的目录文件夹,在res上点击右键,选择new-directory。。
2、输入目录的名称为menu。。
3、在目录中新建menu文件,在menu目录上点击右键,选择new-menuresourcefile。。
4、输入menu文件的名称。。
5、新建目录文件中,程序会自动建立对应的xml布局文件,打开对应的文件。。
6、在文件中建立2个示例用的按钮add和remove。。
7、回到主程序的代码页面。。
8、在主程序代码中新建oncreatoptionmenu方法来导入menu。。
9、代码中会新增oncreatoptionmenu方法,删除默认的代码。。
10、新增在点击menu中2个按钮时分别对应的方法。这样在页面中新增menu并增加menu按钮对应操作的流程就完成了。。
六、怎样在Android Menu item中使用自定义View1、打开Androidstudio,首先添加menu的目录文件夹,在res上点击右键,选择new-directory。
七、安卓手机如何打开“开发人员选项”菜单1、点击“系统设置”。
2、点击“关于手机”。
3、找到“版本号”注意:一定是“版本号”,而非“安卓版本”等。
4、连续快速点击版本号5次在点击过程中,如果你停止,就会提示“还有×次,就可以打开“开发人员选项””,你只需接着点击即可,直至提示“已打开‘开发人员选项’”。
5、按返回键,回到“系统设置”界面可以看到,‘开发人员选项’出现了吧??。
八、android开发中如果设置menu的背景,现在都改用action bar了吗?1、在较新版本的安卓系统手机中,开发者选项已经被隐藏,需要一些操作唤醒喊升或,以郑伍魅族手机为例,进入设置界面。
九、AcitonBar自定义布局1、自定义Activity主题和ActionBar样式 在新建的android工程的res/values/styles.xml添加自定义ActionBar样式的代码和自定义Activity主题的代码,并在AndroidMainfest.xml中给需要使用该自定义ActionBar的Activity中加入该主题:(1)自定义ActionBar样式代码如下: @drawable/actionbar_background useLogo (2)自定义Activity主题代码如下: @style/actionbar_def_style (3)在AndroidManifest.xml文件中需要使用该自定义ActionBar的Activity中加入该主题如下: 。
2、在Activity中加载ActionBar的自定义布局(1)ActionBar加载自定义盯付布局的代码封装如下:/***设置ActionBar的布局*@paramlayoutId布局Id* **/publicvoidsetActionBarLayout(intlayoutId){ ActionBaractionBar=getActionBar(); if(null!=actionBar){ 荡耻绵 actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowCustomEnabled(true); LayoutInflaterinflator=(LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); Viewv=inflator.inflate(layoutId,null); ActionBar.LayoutParamslayout=new ActionBar.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT); actionBar.setCustomView(v,layout); }}(2)在onCreate()方法中调用该方法,并传入自定义的布局文件ID:@OverrideprotectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_diy_action_bar); //自定义actionbar的布局 setActionBarLayout(R.layout.actionbar_port_layout);}(3)自定义布局文件“actionbar_port_layout.xml ”代码如下: 。
3、在Action中监听ActionBar中按钮的点击事件/***实现onClick方法,在这里面监听actionbar中按钮的点击事件 * **/publicvoidonClick(Viewv){ switch(v.getId()){ caseR.id.menuBtnId:{ showToast(this,"menuBtn"); } break; caseR.id.noteBtnId:{ showToast(this,"noteBtn"); } break; caseR.id.downloadBtnId:{ showToast(this,"downloadBtn"); } break; caseR.id.editBtnId:{ showToast(this,"editBtn"); } break; default:{ } break; }}。
4、http://download.csdn.net/detail/zmywly/6922375。