安卓开发一些基础的设置代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

安卓开发一些基础的设置代码DialogFragment设置背景透明onCreateViewWindowwindow=getDialog().getWindow();if(window!=null){window.setBackgroundDrawable(newColorDrawable(Color.TRANSPARENT));}简单的btn状态选择器selectorxmlns:android=:state_pressed=truecolorandroid:color=@color/selector_btn_false//itemitemandroid:state_pressed=falsecolorandroid:color=@color/selector_btn_true//item/selectorFragment和Activity的交互需要注意的是getActivity()有可能会返回nullViewxxx=getActivity().findViewById(R.id.xxx);获得fragment的引用要用FragmentManager,之后可以调用findFragmentById()或者findFragmentByTag()ExampleFragmentfragment=(ExampleFragment)getFragmentManager().findFragmentById(R.id.example_fragment);事件回调一些情况下,可能需要fragment和activity共享事件,一个比较好的做法是在fragment里面定义一个回调接口,然后要求activity实现它,当activity通过这个接口接收到一个回调,它可以同布局中的其他fragment分享这个信息。监听FragmentBack的两个方法写回调实现判断RootView@OverridepublicvoidonResume(){super.onResume();getView().setFocusableInTouchMode(true);getView().requestFocus();getView().setOnKeyListener(newView.OnKeyListener(){@OverridepublicbooleanonKey(Viewv,intkeyCode,KeyEventevent){if(event.getAction()==KeyEvent.ACTION_UP&&keyCode==KeyEvent.KEYCODE_BACK){//handlebackbuttonreturntrue;}returnfalse;}});}调用市场playUriuri=Uri.parse(market://details?id=+context.getPackageName());IntentgoToMarket=newIntent(Intent.ACTION_VIEW,uri);try{startActivity(goToMarket);}catch(ActivityNotFoundExceptione){}自定义View(1)定义一个Class继承于系统View;(2)在xml中配置layout布局文件;(3)重写父类的一些方法,如onMeasure、onDraw、onLayout等;(4)在程序中应用自定义的View;onMeasure()用来设置视图的大小,即视图的宽度和高度onLayout()用于设置视图在屏幕中显示的位置onDraw()利用前面两部分得到的参数,将视图显示在屏幕上android的设计模式模版模式每次新建一个Activity时都会覆盖onCreate(),onStart()方法等,这些方法在父类中就相当于一个模板观察者模式点击事件适配器模式adapter单例模式Application工厂模式BitmapFactory.decodeResource();BitmapFactory相当于位图工厂代理模式AIDLLayout属性android:clipToPadding:配合paddingTop可简单实现View距离顶部一定距离android:clipChildren:是否限制子View在其范围内调用显示触摸位置功能android.provider.Settings.System.putInt(getContentResolver(),show_touches,1);代码切换全屏//切换到全屏getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//切换到非全屏getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);Activity透明stylename=TransparentActivityparent=Theme.AppCompat.Light.DarkActionBaritemname=android:windowBackground@android:color/transparent/itemitemname=android:colorBackgroundCacheHint@null/itemitemname=android:windowIsTranslucenttrue/itemitemname=android:windowNoTitletrue/itemitemname=android:windowContentOverlay@null/item/style展开、收起状态栏publicstaticfinalvoidcollapseStatusBar(Contextctx){Objectsbservice=ctx.getSystemService(statusbar);try{Class?statusBarManager=Class.forName(android.app.StatusBarManager);Methodcollapse;if(Build.VERSION.SDK_INT=Build.VERSION_CODES.JELLY_BEAN_MR1){collapse=statusBarManager.getMethod(collapsePanels);}else{collapse=statusBarManager.getMethod(collapse);}collapse.invoke(sbservice);}catch(Exceptione){e.printStackTrace();}}publicstaticfinalvoidexpandStatusBar(Contextctx){Objectsbservice=ctx.getSystemService(statusbar);try{Class?statusBarManager=Class.forName(android.app.StatusBarManager);Methodexpand;if(Build.VERSION.SDK_INT=17){expand=statusBarManager.getMethod(expandNotificationsPanel);}else{expand=statusBarManager.getMethod(expand);}expand.invoke(sbservice);}catch(Exceptione){e.printStackTrace();}}获取网络类型名称publicstaticStringgetNetworkTypeName(Contextcontext){if(context!=null){ConnectivityManagerconnectMgr=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);if(connectMgr!=null){NetworkInfoinfo=connectMgr.getActiveNetworkInfo();if(info!=null){switch(info.getType()){caseConnectivityManager.TYPE_WIFI:returnWIFI;caseConnectivityManager.TYPE_MOBILE:returngetNetworkTypeName(info.getSubtype());}}}}returngetNetworkTypeName(TelephonyManager.NETWORK_TYPE_UNKNOWN);}publicstaticStringgetNetworkTypeName(inttype){switch(type){caseTelephonyManager.NETWORK_TYPE_GPRS:returnGPRS;caseTelephonyManager.NETWORK_TYPE_EDGE:returnEDGE;caseTelephonyManager.NETWORK_TYPE_UMTS:returnUMTS;caseTelephonyManager.NETWORK_TYPE_HSDPA:returnHSDPA;caseTelephonyManager.NETWORK_TYPE_HSUPA:returnHSUPA;caseTelephonyManager.NETWORK_TYPE_HSPA:returnHSPA;caseTelephonyManager.NETWORK_TYPE_CDMA:returnCDMA;caseTelephonyManager.NETWORK_TYPE_EVDO_0:returnCDMA-EvDorev.0;caseTelephonyManager.NETWORK_TYPE_EVDO_A:returnCDMA-EvDorev.A;caseTelephonyManager.NETWORK_TYPE_EVDO_B:returnCDMA-EvDorev.B;caseTelephonyManager.NETWORK_TYPE_1xRTT:returnCDMA-1xRTT;caseTelephonyManager.NETWORK_TYPE_LTE:returnLTE;caseTelephonyManager.NETWORK_TYPE_EHRPD:returnCDMA-eHRPD;caseTelephonyManager.NETWORK_TYPE_IDEN:returniDEN;caseTelephonyManager.NETWORK_TYPE_HSPAP:returnHSPA+;default:returnUNKNOWN;}}扫描指定的文件sendBroadcast(newIntent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,uri));有没有应用程序处理你发出的intentpublicstaticbooleanisIntentAvailable(Contextcontext,Stringaction){finalPackageManag

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功