Android4.0平板开发之隐藏底部任务栏的方法

本文实例讲述了Android4.0平板开发之隐藏底部任务栏的方法。分享给大家供大家参考,具体如下:

代码如下:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//隐藏底部任务栏代码

上边已验证

下边百度过来的

showBar显示任务栏

closeBar隐藏任务栏

前提:需要ROOT权限

public static void showBar() {
  try {
     Process proc = Runtime.getRuntime().exec(
       new String[] { "am", "startservice", "-n",
         "com.android.systemui/.SystemUIService" });
     proc.waitFor();
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
 public static void closeBar(Context context) {
   try {
    // 需要root 权限
     Build.VERSION_CODES vc = new Build.VERSION_CODES();
     Build.VERSION vr = new Build.VERSION();
     String ProcID = "79";
if (vr.SDK_INT >= vc.ICE_CREAM_SANDWICH) {
       ProcID = "42"; // ICS AND NEWER
    }
   // 需要root 权限
    Process proc = Runtime.getRuntime().exec(
 new String[] {
        "su",
        "-c",
        "service call activity " + ProcID
          + " s16 com.android.systemui" }); // WAS 79
    proc.waitFor();
   } catch (Exception ex) {
     Toast.makeText(context, ex.getMessage(), Toast.LENGTH_LONG).show();
   }
}

1.ActionBar:

<activity android:name="Demo"
   android:label="@string/app_name"
   android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
 <intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
</activity>

2.TitleBar

隐藏:

代码如下:

requestWindowFeature(Window.FEATURE_NO_TITLE);

或者

代码如下:

android:theme="@android:style/Theme.Black.NoTitleBar

显示:

代码如下:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

3.NotificationBar、StatusBar、SystemBar

Dim的话可以:

getWindow().getDecorView().setSystemUiVisibility
 (View.SYSTEM_UI_FLAG_LOW_PROFILE);

隐藏的话可以(不好使,哈哈):

getWindow().getDecorView().setSystemUiVisibility
 (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

那怎么玩呢?用狠招吧,哈哈:

命令行方式:

直接用进程号杀,不加service那个shell的话,一会SystemBar会自启动。

# kill com.android.systemui
# service call activity 79 s16 com.android.systemui

如果想启动SystemBar:

代码如下:

# am startservice -n com.android.systemui/.SystemUIService

代码方式:

要root啊

Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service
 call activity 79 s16 com.android.systemui"});
proc.waitFor();
Process proc = Runtime.getRuntime().exec(new String[]{"am","startservice","-n","com.android.systemui/.SystemUIService"});
proc.waitFor();

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android 定时任务过程详解

    在Android开发中,通过以下三种方法定时执行任务: 一.采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式) 二.采用Handler的postDelayed(Runnable, long)方法(最简单的android实现) 三.采用Handler与timer及TimerTask结合的方法(比较多的任务时建议使用) android里有时需要定时循环执行某段代码,或者需要在某个时间点执行某段代码,这个需求大家第一时间会想到Timer对象,没错,不过我们还有更好的

  • 浅析Android文件管理器(项目一)

    文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件.所有文件管理器都提供了基本的操作如创建.打开.查看.编辑.移动和删除文件.许多Android文件管理器还提供了额外功能,如网络连接.应用程序管理.存档和压缩处理.搜索等. 今晚就写了res下面那些文件,因为在编写逻辑的时候如果资源文件夹没有的话,会非常的苦恼的.所以学习的时候总是会先把资源编写完毕,再开始编写逻辑. 然后我自己也总结一下今晚学了什么吧. IDE : Android Studio 惯例,上代码. 先是

  • 在Android线程池里运行代码任务实例

    本节展示如何在线程池里执行任务.流程是,添加一个任务到线程池的工作队列,当有线程可用时(执行完其他任务,空闲,或者还没执行任务),ThreadPoolExecutor会从队列里取任务,并在线程里运行. 本课同时向你展示了如何停止正在运行的任务. 在线程池里的线程上执行任务 在ThreadPoolExecutor.execute()里传入 Runnable对象启动任务.这个方法会把任务添加到线程池工作队列.当有空闲线程时,管理器会取出等待最久的任务,在线程上运行. 复制代码 代码如下: publi

  • Android 获取正在运行的任务和服务的小例子

    要获取正在运行的任务,首先需要声明一个活动对象管理器(ActivityManager) 所有的活动任务都属于此,然后通过获取服务可以得到所有的活动对象,然后通过活动对象可以得到所有运行的任务和服务,当然要获取服务和任务是使用不同的方法,但是方式是一样的.下面是获取代码:代码 复制代码 代码如下: void getTask() {        ActivityManager activityManager;        try {            activityManager = (A

  • android在异步任务中关闭Cursor的代码方法

    查询数据会比较耗时,所以我们想把查询数据放在一个异步任务中,查询结果获得Cursor,然后在onPostExecute (Cursor result)方法中设置Adapter,我们可能会想到使用Activity的managedQuery来生成Cursor,这样Cursor就会与Acitivity的生命周期一致了,多么完美的解决方法!然而事实上managedQuery也有很大的局限性,managedQuery生成的Cursor必须确保不会被替换,因为可能很多程序事实上查询条件都是不确定的,因此我们

  • Android中创建多线程管理器实例

    如果你要反复执行一个任务,用不同的数据集(参数不同),但一次只要一个执行(任务是单线程的),IntentService符合你的需求.当需要在资源可用时自动执行任务,或允许多任务同时执行,你需要一个线程管理器管理你的线程.ThreadPoolExecutor,会维护一个队列,当它的线程池有空时,从队列里取任务,并执行.要运行任务,你要做的就是把它加到队列里. 线程池可以并联运行一个任务的多个实例,所以你要保存代码线程安全.能被多线程访问的变量需要同步块.更多信息,见Processes and Th

  • Android编程实现任务管理器的方法

    本文实例讲述了Android编程实现任务管理器的方法.分享给大家供大家参考,具体如下: 任务管理器可以实现的功能有: 1.查看当前系统下运行的所有的进程 2.可以查看每个进程的进程号.版本号以及内存占用情况 3.杀死进程(可以杀死全部进程或者杀死指定的进程) 4.查看系统剩余内存 效果图: 杀死全部进程 实现思路: ActivityManager类可以获取到当前系统的所有进程,以及每个进程的信息,也可以杀死某个进程, ActivityManager.getRunningAppProcesses(

  • android异步任务设计思详解(AsyncTask)

    这里说有设计思想是我根据查看Android源代码提炼出来的代码逻辑,所以不会跟Google工程师的原始设计思想100%符合(也有可能是0%),但是本文一定可以帮助你理解AsyncTask,也可能有一些你以前没有发现的内容. 大家都知道,Android的主线程(又叫UI线程,线程ID为1)有一些限制策略,使得主线程有些事做不了,比如访问网络就不允许,否则就是报,但在2.3之后的版本,你可以通过添加以下代码更改其限制策略,从而强制使得主线程可以访问网络: 复制代码 代码如下: if (android

  • Android4.0平板开发之隐藏底部任务栏的方法

    本文实例讲述了Android4.0平板开发之隐藏底部任务栏的方法.分享给大家供大家参考,具体如下: 复制代码 代码如下: getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//隐藏底部任务栏代码 上边已验证 下边百度过来的 showBar显示任务栏 closeBar隐藏任务栏 前提:需要ROOT权限 public static void showBar() { try { P

  • Android4.0.x Home键事件拦截监听的方法

    本文实例讲述了Android4.0.x Home键事件拦截监听的方法.分享给大家供大家参考,具体如下: 在2.3.x 的主要做法如下,具体实现网上有很多文章 @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); super.onAttachedToWindow(); } 代码移植到4.0.1后 this.getWindow()

  • Android开发快速实现底部导航栏示例

    目录 Tint 着色器 依赖(AndroidX) 布局 编写渲染颜色选择器-tint_selector_menu_color menu 文件中 icon-nav_bottom_menu BottomNavigationView的点击事件 配合ViewPager实现Tab栏 对应的适配器 Tint 着色器 优点:去除“无用”图片,节省空间 配合BottomNavigationView,实现一个快速,简洁的Tab栏 传统做法:Tab 切换,字体变色.图片变色.至少给我提供八张图,四张默认,四张选中,

  • ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案

    在有tabs的项目里,进入子层级时,底部导航还一直存在,本人是要让他只在首页几个界面存在,其他的隐藏,在这里用到了angularjs的指令,要完成这个步骤分为三步: 在标签ion-tabs中添加:ng-class="{'tabs-item-hide': $root.hideTabs}",源码如下 <ion-tabs class="tabs-icon-top" ng-class="{'tabs-item-hide': $root.hideTabs}&q

  • Android 弹出Dialog时隐藏状态栏和底部导航栏的方法

    上代码 dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); dialog.getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { @Override public void onSystemUi

  • Flutter自定义底部导航栏的方法

    本文实例为大家分享了Flutter自定义底部导航栏的具体代码,供大家参考,具体内容如下 文件结构: main.dart import 'package:flutter/material.dart'; import 'pages/tabs.dart';   void main() => runApp(new MyApp());   class MyApp extends StatelessWidget {   @override   Widget build(BuildContext contex

  • IOS 开发状态栏隐藏的实现办法

    IOS 开发状态栏隐藏的实现办法 解决方法:  IOS7以下版本隐藏UIStatusBar的方法: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [application setStatusBarHidden:YES]; return YES; } 升级到iOS7后的方法: 在基类中重载UIViewController.h

  • Android4.0开发之Keyguard解锁屏机制详解

    本文实例讲述了Android4.0 Keyguard解锁屏机制.分享给大家供大家参考,具体如下: Keyguard解锁屏是Android系统中必不可少的模块,用户在开机后或者在点击Power按钮屏幕变亮后首先看到的画面即为解锁屏模块对应的界面.Keyguard模块功能相对简单: 第一:直观地显示手机当前的关键信息:比如电池信息.运营商信息.日期信息以及通话短信信息等. 第二:增强手机的安全性能:为了安全,用户可以在Setting里的Secure选项中设置password.pattern.acco

  • Android开发之微信底部菜单栏实现的几种方法汇总

     实现方式 实现的方式有很多种 这里总结最常见的几种方式,以后再添加其他的. viewPager + RadioGroup viewPager + FragmentTabHost viewpager +TabLayout viewPager+RadioGroup 感觉这是最简单的一个了,我也就不贴代码 说说我理解的思路吧 通过给pager 和RadioGroup 添加监听,监听两个控件的变化 实现联动 当viewPager的显示pager改变就会触发监听 ,在监听中选中对应的RadioButto

  • Android2.3实现Android4.0风格EditText的方法

    本文实例讲述了Android2.3实现Android4.0风格EditText的方法.分享给大家供大家参考,具体如下: 效果如下: 思路:在源码里找到4.0风格的图片作为背景,xml文件定义点击时候边框变化 步骤: 1.在 D:\Android\android-sdk-windows\android-sdk-windows\platforms\android-14\data\res\drawable-xhdpi 目录下找到图片文件: textfield_disabled_holo_light.9

随机推荐