您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > Android开发知识点总结
第1页/共30页如何获取标题栏和状态栏高度1.获取状态栏高度:decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。于是可以算出状态栏的高度了。Rectframe=newRect();getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);intstatusBarHeight=frame.top;2.获取标题栏高度:getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。intcontentTop=getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();//statusBarHeight是上面所求的状态栏的高度inttitleBarHeight=contentTop-statusBarHeight;---------------------------------------------------------------------------------------------让EditTextView不能输入的方法etNearbySearch.setFilters(newInputFilter[]{newInputFilter(){@OverridepublicCharSequencefilter(CharSequencesource,intstart,intend,Spanneddest,intdstart,intdend){returnsource.length()1?dest.subSequence(dstart,dend):;}}});---------------------------------------------------------------------------------------------全屏问题,在程序一加载的时候就让它是全屏this.requestWindowFeature(Window.FEATURE_NO_TITLE);this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);AndroidManifest.xml中这样写activityandroid:name=.TextButtonActivityandroid:label=@string/app_nameandroid:theme=@android:style/Theme.NoTitleBar.Fullscreen---------------------------------------------------------------------------------------------设置控件是否显示的属性设置android属性android:visibility此属性意思是此视图是否显示,例如RelativeLayout中android:visibility=gone其有三个属性:visible显示;invisible显示黑背景条;gone不显示在类中,可以设置其显示与否,setVisibility(View.GONE);不显示setVisibility(View.VISIBLE);显示第2页/共30页---------------------------------------------------------------------------------------------为了避免软键盘挡上输入框,可以试试设置activityandroid:windowSoftInputMode=stateVisible|adjustResize或者activityandroid:windowSoftInputMode=stateVisible|adjustPan---------------------------------------------------------------------------------------------设置控件的宽高,用setlayoutparams()方法---------------------------------------------------------------------------------------------做应用时,可能会需要动态改变控件的背景图片,如果仅仅是简单的点击,选中之类的事件,如果靠程序中写监听的代码就显得太麻烦了,在这种情况下,你可以使用selector动态改变控件背景1、在res/drawable目录下建一个handlebackground.xml文件,根据需要,不同的状态下建立不同的item,并对应相应的图片?xmlversion=1.0encoding=UTF-8?selectorxmlns:android=:state_pressed=trueandroid:drawable=@drawable/pressed_application_background_static/itemandroid:state_focused=trueandroid:state_enabled=trueandroid:state_window_focused=trueandroid:drawable=@drawable/focused_application_background_static/itemandroid:drawable=@android:color/transparent//selector2、在构造layout是引用这个xmlImageButtonandroid:id=@+id/imagebuttonandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:src=@drawable/normalbackgroundandroid:background=@drawable/handlebackground/ImageButtonnormalbackground.png为你要显示的前景图片pressed_application_background_static.png为点击时的背景(系统默认为淡黄色)focused_application_background_static.png为焦点停留时的背景(系统默认为橙色)---------------------------------------------------------------------------------------------取得androidsdk的版本,并设置动画效果intversion=Integer.valueOf(android.os.Build.VERSION.SDK);if(version=5){overridePendingTransition(R.anim.zoomin,R.anim.zoomout);//此为自定义的动画效果,下面两个为系统的两个自定义的动画效果XML文件,存放位置为:res/anim/1,动画进入效果:zoomin.xml?xmlversion=1.0encoding=utf-8?setxmlns:android=第3页/共30页android:interpolator=@android:anim/decelerate_interpolatorscaleandroid:fromXScale=2.0android:toXScale=1.0android:fromYScale=2.0android:toYScale=1.0android:pivotX=50%pandroid:pivotY=50%pandroid:duration=@android:integer/config_mediumAnimTime//set复制代码2,动画退出效果:zoomout.xml?xmlversion=1.0encoding=utf-8?setxmlns:android=:interpolator=@android:anim/decelerate_interpolatorandroid:zAdjustment=topscaleandroid:fromXScale=1.0android:toXScale=.5android:fromYScale=1.0android:toYScale=.5android:pivotX=50%pandroid:pivotY=50%pandroid:duration=@android:integer/config_mediumAnimTime/alphaandroid:fromAlpha=1.0android:toAlpha=0android:duration=@android:integer/config_mediumAnimTime//set---------------------------------------------------------------------------------------------获得控件在屏幕或窗口内的坐标int[]location=newint[2];view.getLocationInWindow(location);//获取在当前窗口内的绝对坐标view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标location[0]---x坐标,location[1]---y坐标---------------------------------------------------------------------------------------------控件对齐那点事android:gravity属性是对该view内容的限定.比如一个button上面的text.你可以设置该text在view的靠左,靠右等位置.该属性就干了这个.android:layout_gravity是用来设置该view相对与起父view的位置.比如一个button在linearlayout里,你想把该button放在靠左靠右等位置就可以通过该属性设置.---------------------------------------------------------------------------------------------几种Menu的使用说明1.OptionsMenu.第4页/共30页通过按下手机上的MENU键,可以打开OptionsMenu。OptionsMenu最多只能在屏幕最下面显示6个菜单项,称为IconMenu.如果添加了多于6个的菜单项,将通过More菜单项显示,这种称为ExpandedMenu.当OptionsMenu第一次被打开时,系统将调用Activity的onCreateOptionsMenu(Menumenu)方法,在
本文标题:Android开发知识点总结
链接地址:https://www.777doc.com/doc-6124335 .html