UI原生风格是两个按钮竖排放的,要改成横排防的;

前面用了个取巧的方法 dialog listView旋转90度,后面发现系统共用一个listView,其它dialog list也会旋转,所以重新写了布局,没有二级确认菜单,逻辑和一级一样;代码比较简单:

styles.xml
+  <style name="popupDialog" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:backgroundDimAmount">1</item><!-- 灰度 -->
+        <item name="android:windowFullscreen">true</item>
+    </style>frameworks/base/services/core/java/com/android/server/policy/GlobalActions.javaprivate void handleShow() {
-        awakenIfNecessary();
+        /*awakenIfNecessary();mDialog = createDialog();prepareDialog();@@ -232,8 +243,102 @@ class GlobalActions implements DialogInterface.OnDismissListener, DialogInterfacattrs.dimAmount=1.0f;Log.e("lyl","qqqqq   "+attrs.height);mDialog.getWindow().setAttributes(attrs);
-        }
+        }*/
+      createDialogShow(true);//创建dialog}
+      private void createDialogShow(boolean lsReboot) {
+
+        // Window initialization
+        Window window = d.getWindow();
+        window.getAttributes().width = ViewGroup.LayoutParams.MATCH_PARENT;
+        window.getAttributes().height = ViewGroup.LayoutParams.MATCH_PARENT;
+        window.setType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY);
+        window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND
+                | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
+        window.addFlags(
+                WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
+                        | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
+                        | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
+                      );
+                  View decorView = d.getWindow().getDecorView();
+            int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+                            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
+            decorView.setSystemUiVisibility(uiOptions);+        d.setContentView(R.layout.shutdown_dialog_new);
+        d.setCancelable(true);
+        ImageView shutdownIcon = (ImageView)d.findViewById(R.id.shutdown_icon);
+        ImageView restartIcon = (ImageView)d.findViewById(R.id.restart_icon);
+               TextView message = (TextView)d.findViewById(R.id.shutdown_message);
+               TextView restartMessage = (TextView)d.findViewById(R.id.restart_message);
+                       message.setText(com.android.internal.R.string.power_off);
+                       restartMessage.setText(com.android.internal.R.string.global_action_restart);
+
+               shutdownIcon.setOnClickListener(new OnClickListener() {
+                       @Override
+                       public void onClick(View v) {
+                              mWindowManagerFuncs.shutdown(false /* confirm */);
+                               d.dismiss();
+                       }
+               });
+                restartIcon.setOnClickListener(new OnClickListener() {
+                       @Override
+                       public void onClick(View v) {
+                          mWindowManagerFuncs.reboot(false /* confirm */);
+                               d.dismiss();
+                       }
+               });
+               LinearLayout mLinearLayout = (LinearLayout)d.findViewById(R.id.shutdown_linearlayout);
+               mLinearLayout.setOnClickListener(new OnClickListener() {
+                       @Override
+                       public void onClick(View v) {
+                               d.dismiss();
+                       }
+               });
+               mLinearLayout.setOnLongClickListener(new OnLongClickListener() {
+                       @Override
+                       public boolean onLongClick(View v) {
+                               d.dismiss();
+                               return false;
+                       }
+               });
+
+               d.setOnDismissListener(new OnDismissListener() {
+                       @Override
+                       public void onDismiss(DialogInterface dialog) {
+                               d.dismiss();
+                       }
+               });
+
+        d.show();
+
+       }
其它一些小问题仿照原生的就可以,布局文件用简单的布局就ok了,

RK 7.1 reboot界面UI 风格 简单修改相关推荐

  1. java图形界面UI设计——简单的计算器

    java图形界面UI设计--简单的计算器# 可以实现连续的输入: java图形界面UI设计--简单的计算器下载

  2. VC++软件界面风格简单美化

    为了让软件能在视觉上给用户带来一种清新的感觉,从而避免潜在的用户视觉疲劳和审美疲劳,软件一般都要经过专业的界面设计和美化.但是,我们不是也没有专业的界面设计美化人员,所以只能对软件的界面和风格进行初步 ...

  3. Android布局之线性布局LinearLayout(二) ----简单模仿ios端小米计算器主界面UI

    Android布局之线性布局LinearLayout(二) ----简单模仿ios端小米计算器主界面UI   今天老师的要求是让用LinearLayout布局做自己手机自带的计算器的UI设计,因为io ...

  4. Windows界面UI自绘编程(上)之上部

    Windows界面UI自绘编程(上)之上部 第一章 Win32程序基本框架 第二章 Win32对话框和文件的遍历(函数FindFirstFile.FindNextFile和SHGetFileInfo) ...

  5. metro 风格 php源码,Win8 Metro UI风格Web素材样式资源合集

    最近微软已经正式发布了Windows8操作系统,Window操作系统的风格已经完全改变成了瓦片状的Metro UI. 对于微软来说这是一个巨大的改变,而且所有微软的平台包括,桌面,平板,移动及其网站都 ...

  6. Win8 Metro UI风格的Web设计资源分享

    最近微软已经正式发布了windows 8操作系统,window操作系统的风格已经完全改变成了瓦片状的Metro UI. 对于微软来说这是一个巨大的改变,而且所有微软的平台包括,桌面,平板,移动及其网站 ...

  7. html ui windows 风格,win10全新UI风格:Win7/Win8.1个性化设置回归

    Win10 风格界面是微软在这款新系统中追求的全新UI风格.为了配合这一目标的实现,微软努力用新界面代替老界面,首先替换的就是桌面右键"个性化"这种比较明显的位置,Win7/Win ...

  8. iOS开发UI篇—简单介绍静态单元格的使用

    iOS开发UI篇-简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果, ...

  9. 特别推荐:15个精美 Metro UI 风格 WordPress 主题

    Metro 风格的设计在移动应用和 Web 设计领域成为流行趋势,在过去数月被讨论得非常多.Metro UI 的设计带给你的第一印象是彩色方块和简约的设计,这有利于以文字为主的界面导航. Metro ...

最新文章

  1. pytorch loss inf
  2. 使用百度地图实现详细地址自动补全
  3. 多线程-- ThreadLocal
  4. 使用.net core3.0 正式版创建Winform程序
  5. 缓存服务器在Linux下的运用
  6. Leetcode--494. 目标和
  7. 一块GPU模拟猴子大脑,普通台式机变超算,英国大学研究登上Nature子刊
  8. HDOJ---1874 畅通工程续[最短路径问题-Dijkstra算法]
  9. with open as f用法_UE4精品教程 | C++Tuple元组的详细用法
  10. 谁说导航一定要用地图?谷歌DeepMind的强化学习模型靠街景认路
  11. 帮助开发者快速创建响应式布局的Boilerplate - Responsive Boilerp...
  12. kubernetes视频教程笔记 (12)-容器探针
  13. 扩展BindingList,防止增加、删除项时自动更新界面而不出现“跨线程操作界面控件 corss thread operation”异常...
  14. lotus Domino调用webservice
  15. 火狐浏览器怎么打不开网页
  16. 大数据教学竞赛科研平台设计思路
  17. js除法保留小数_javascript(js)的小数点乘法除法问题详解
  18. 解决WSL2报错(请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化[已退出进程,代码为 4294967295])
  19. linux修改证书通用名,如何在Linux上创建自己的通配符证书?
  20. python tk checkbutton_Python tkinter之CheckButton(多选框)

热门文章

  1. Java修真界(斗之气九段)
  2. matlab-非线性拟合函数lsqcurvefit的使用和初值选取
  3. 【操作系统】2、进程管理
  4. ORA -01034解决
  5. VSCode前端必备插件2022版(持续更新)
  6. Springboot平衡膳食系统小程序 计算机毕设源码27190
  7. Android|Toast理论篇(附自制图标信息框实现)
  8. 常用APP(apk)对应包名总结
  9. 裸露土堆智能识别检测系统 yolo
  10. Python自动化测试怎么学?看完这个!不做无头苍蝇