是否为当前界面

Android Studio在SVN上创建分支


其他内容不变,只需要修改AndroidManifest.xml 中Activity注册是添加android:theme="@android:style/Theme.Holo.Dialog" 即可

<activity

android:name=".activity.LoginActivity"

android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"

android:theme="@style/dialog_style" />

style :dialog_style

<style name="dialog_style">

<item name="android:windowIsFloating">true</item> <!--是否悬浮在activity上-->

<item name="android:windowNoTitle">true</item> <!--透明是否-->

<item name="windowActionBar">false</item>

<item name="android:windowFrame">@null</item>

<item name="windowNoTitle">true</item>

<item name="android:windowBackground">@android:color/transparent</item>

<item name="android:backgroundDimEnabled">true</item>

<item name="android:windowFullscreen">true</item>

<item name="android:adjustViewBounds">true</item>

<item name="android:backgroundDimAmount">0.4</item><!--透明度 0.0f到1.0f之间。1.0完全不透明,0.0f完全透明-->

<item name="android:windowCloseOnTouchOutside">false</item><!--禁用点击空白处自动关闭-->

</style>

边用边更新

/**

  • 判断qq是否可用

  • @param context

  • @return

*/

public static boolean isQQClientAvailable(Context context) {

try {

final PackageManager packageManager = context.getPackageManager();

List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);

if (pinfo != null) {

for (int i = 0; i < pinfo.size(); i++) {

String pn = pinfo.get(i).packageName;

if (pn.equals("com.tencent.mobileqq")) {

return true;

}

}

}

}catch (Exception e){

return false;

}

return false;

}

/**

  • 判断支付宝是否可用

  • @param context

  • @return

*/

public static boolean checkAliPayInstalled(Context context) {

Uri uri = Uri.parse("alipays://platformapi/startApp");

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

ComponentName componentName = intent.resolveActivity(context.getPackageManager());

return componentName != null;

}

检测某应用是否安装

private boolean isAvilible( Context context, String packageName )

{

final PackageManager packageManager = context.getPackageManager();

// 获取所有已安装程序的包信息

List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);

for ( int i = 0; i < pinfo.size(); i++ )

{

if(pinfo.get(i).packageName.equalsIgnoreCase(packageName))

return true;

}

return false;

}

判断程序是否在前台运行

/**

  • 程序是否在前台运行

尾声

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。 整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

最后想要拿高薪实现技术提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以为了大家能够顺利进阶中高级、架构师,我特地为大家准备了一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。

  • 思维脑图
    Activity快速转换为Diglog,音视频书籍
  • 性能优化学习笔记
    Activity快速转换为Diglog,音视频书籍
    Activity快速转换为Diglog,音视频书籍

Activity快速转换为Diglog,音视频书籍
Activity快速转换为Diglog,音视频书籍

  • 性能优化视频
    Activity快速转换为Diglog,音视频书籍
    当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

更多文章请关注《万象专栏》