精华内容
下载资源
问答
  • <div><h2>Description ...<p>https://rawgit.com/cdcabrera/patternfly/Feature-AppLauncher-3x-dist/dist/tests/application-launcher-nav.html</p><p>该提问来源于开源项目:patternfly/patternfly-3</p></div>
  • <ul><li>https://rawgit.com/cdcabrera/patternfly/Feature-AppLauncher-3x-dist/dist/tests/application-launcher-nav.html</li></ul> <p><img alt="screen shot 2017-04-19 at 3 54 05 pm" src=...
  • Launcher

    2020-12-08 18:30:57
    - Library Qt 5.x. <p>Features to do in the future: - Add nice images - Implement rest of checkboxes/comboboxes - Add more messageboxes with errors/warnings etc. <p>Unfortunately, launcher was tested ...
  • Simple x264 Launcher

    2011-10-11 20:09:38
    x264的一个gui 。
  • 4.0.x Launcher UI

    2019-07-30 15:35:15
    Launcher所有交互界面的切换都是在Launcher.java这个Activity完成,对应UI架构的布局文件launcher.xml,包含交互显示的各种元素。同时可以使用 hierarchyviewer布局查看工具了解不同状态下的布局结构。 (4.0.3源码...

         谷歌在经历了Android 2.3的版本更新之后,手机系统UI进行了不小的改进,而新的Android 3.1的用户界面也一改此前Android单调的风格。在经历了众多版本的演化之后,谷歌应该对于用户界面体验方面有所提升,Android 4.0操作系统,Android 4.0将只提供一个版本,同时支持智能手机、平板电脑、电视等设备。Android 4.0的操作界面,和蜂巢系统风格类似,同时增加了不少新特性。

    • 全新UI界面:Android 4.0 为我们带来了全新的UI界面,新的Roboto字体、锁屏、桌面挂件、通知、多任务等有得到了优化改进,使Android 4.0 整体看上去更为简洁美观。
    • 人脸识别解锁:Android 4.0 支持人脸识别解锁,通过摄像头识别后,用户即可解开手机。
    • Android Beam:通过这项功能,Android 4.0 可让用户更为便捷的完成信息共享,轻松实现联系人、网站、应用程序、地图,以及YouTube视频等信息共享。只要你和好友的Android手机支持 NFC功能,通过简单的背靠背触碰即可完成数据交换共享。
    • 全景相机:只要你点全景照相,相机自动切换到全景照相模式,你可以慢慢的移动你的相机,全景照相过程就自动进行了,当你完成以后可以看到一个快速的照片拼接处理过程。内置了照片编辑器,功能比较强大,可以进行裁剪、美化、调色等修改.
    • 语音输入:Android 4.0 现在全面支持语音输入。通过简单的触摸键盘上的麦克风,就可以使用语音即时输入文字,来快速便捷的完成电子邮件、短信,以及其他任何你想要输入的文字。

    解锁后Launcher 整个桌面截图:(图一)HOME界面 (图二)App lists界面

     

    Launcher所有交互界面的切换都是在Launcher.java这个Activity完成,对应UI架构的布局文件launcher.xml,包含交互显示的各种元素。同时可以使用hierarchyviewer布局查看工具了解不同状态下的布局结构。(4.0.3源码)

     

    <com.android.launcher2.DragLayer
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
    
        android:id="@+id/drag_layer"
    
        <include
            android:id="@+id/qsb_divider"
            layout="@layout/workspace_divider"
    
        <include
            android:id="@+id/dock_divider"
            layout="@layout/workspace_divider"
    
        <include
            android:id="@+id/paged_view_indicator"
            layout="@layout/scroll_indicator"
    
        <!-- The workspace contains 5 screens of cells -->
        <com.android.launcher2.Workspace
            android:id="@+id/workspace"
            android:layout_width="match_parent"
            .....>
    
            <include android:id="@+id/cell1" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell2" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell3" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell4" layout="@layout/workspace_screen" />
            <include android:id="@+id/cell5" layout="@layout/workspace_screen" />
        </com.android.launcher2.Workspace>
    
        <include
            android:id="@+id/qsb_bar"
            layout="@layout/qsb_bar" />
    
        <include layout="@layout/apps_customize_pane"
            android:id="@+id/apps_customize_pane"
            android:visibility="invisible" />
    
        <include layout="@layout/hotseat"
            android:id="@+id/hotseat"
    
        <include layout="@layout/workspace_cling"
            android:id="@+id/workspace_cling"
            android:visibility="gone" />
    
        <include layout="@layout/folder_cling"
            android:id="@+id/folder_cling"
            android:visibility="gone" />
    </com.android.launcher2.DragLayer>

     

    UI架构的根是DragLayer继承FrameLayout视图类,实现了Launcher拖放功能DragController

    接口,同时监听onInterceptTouchEvent,onTouchEvent触屏事件。在Android 4.0.x中添加到workspace中的widgets是可以调整显示大小的。所以当上面的是将触发时会先检查widgets在屏幕中是否可以调整大小,是否正在调整(相关代码AppWidgetResizeFrame.java),false就把事件交给DragController对应的方法处理各种拖放操作。

     qsb_divider 图一左边的那条白线,其实是一个ImageView.dock_divider对应右边那条。paged_view_indicator当拖动workspace时看到在屏幕底下的蓝色指示器也是一个ImageView.

    workspace 可以说Luancher的桌面每一个交互界面都是workspace的一部分,它包含5个workspace_screen,每个workspace_screen对应一页一个CellLayout,默认显示launcher:defaultScreen="2",继承自SmoothPagedView--PagedView---ViewGroup,在这些继承关系加入了手势处理的过程(4.0.x的新特性吧), 主要在PagedView重写了onMeasure函数计算控件在屏幕中占的空间大小,重写onLayout方法来布局桌面上的控件。控件:1)ApplicationInfo 应用图标项。2) FolderInfo 桌面文件夹 3) LauncherAppWidgetInfo 桌面组件 4)ShortcutInfo 应用快捷方式.Workspace要实现了拖放效果必须实现

    DragSource:拖动源接口,定义了void onDropCompleted(View target, DragObject d, boolean success); 

    DropTarget:拖动目标(要将部件拖拽进入,必须继承DropTarget接口),定义很多拖动过程需要的方法:onDrop,onDragEnter,onDragOver,onDragExit,acceptDrop。

    Workspace实现DragScroller左右滑动切换接口提供两个方法

        void scrollLeft();

        void scrollRight();

      在拖放过程被DragController调用实现桌面的左右滚动,以及View.OnTouchListener, DragController.DragListener接口。

    CellLayout 决定workspace 中各种控件如何摆放。CellLayout它也继承ViewGroup,覆盖重新实现了onMeasure方法,和onlayout两个重要方法. CellLayout分成不同的cell空间,也就是桌面AppWidget 1x1,4x1....,并使用boolean[][] mOccupied;来标识每个cell使用状态.

        qsb_bar 图一中左边的google 搜索栏,他并不是widget,SearchDropTargetBar 继承 FrameLayout 实现
    DragController.DragListener接口.在
    layout="@layout/qsb_bar" include 的xml文件中除了搜索栏外,还包含了DeleteDropTarget 拖动删除widget时显示的回收站 X 图片,默认DeleteDropTarget 是被隐藏的,它继承
    ButtonDropTarget是TextView,ButtonDropTarget实现接口DropTarget,DragController.DragListener方法:
    onDragStart:隐藏搜索栏,显示DeleteDropTarget onDragEnd:显示搜索栏,隐藏DeleteDropTarget 分别在开始DragController开始拖放和结束拖放的时候被调用. 另外DeleteDropTarget实现了DropTarget接口,鼠标把图标拖放到DeleteDropTarget,就会调用DeleteDropTarget 实现的onDrop方法对应用图标进行删除处理。SearchDropTargetBar并不关联到workspace上不固定显示在哪一个workspace_screen
    当切换workspace_screen时,它显示在屏幕view的最顶层。

    apps_customize_pane 包含了AppsCustomizeTabHost 即图片二显示APPs 和widgetys列表。Widget 以缩略图形式和应用放在一起等待选择也是 3.0 开始的设计。不少Android机友桌面一个 Widget 都没有,因为他们根本不知道有这样的东西。现在的做法应该能鼓励他们布置更高效更个性化的桌面,简化了添加个过程。同时你还可以打开Apps中widget priview应用来改变某widget显示的缩略图,拖动到桌面显示后还可以调整widget显示大小。相比 Android 2.3 添加 Widget 只能靠文字描述,必须丢到桌面才能知道究竟是什么样的可怕体验,新设计无疑方便很多。


    AppsCustomizeTabHost 使用AppsCustomizePagedView显示apps,继承了PagedView (ViewGroup).Android 的应用列表自 3.0 开始分屏显示。4.0 延续了分屏设计,但放弃了之前平庸的过渡效果,而是和诺基亚 N9 一样——滑开一屏图标的同时,下一屏图标浮现出来,就好象被推到前面一样效果。
    hotseat 图一右边显示的快捷键。Hotseat也是继承FrameLayout,并使用CellLayout显示item.(想当一个小的workspace)切换workspace_screen时位置也不会发生变化。如果你想从apps list拖动一个应用来替换hotseat上的app,结果是生成了一个folder包含这两个hotseat,想不明白google为什么这么设计。

    workspace_cling 图一、图二中显示在最顶层的使用向导界面(第一次启动模拟器时),提示如何操作hotseat和apps 、widget。
    folder_cling 第一次在桌面创建folder时显示。Android 4.0.x还将文件夹功能进行改进,模仿iOS系统把两个图标合成一个文件夹,新建文件夹包含拖拽前的这两个应用,点击后则打开该文件夹,可见android功能上向苹果的靠拢........

    
    
    Launcher UI中几个核心code file:
    Workspace.java
    CellLayout.java
    AppsCustomizePagedView.java
    ItemInfo.java 桌面显示空间的父类

     

     

    转载于:https://www.cnblogs.com/sardine/archive/2012/05/02/2451103.html

    展开全文
  • launcher Dosent work on OS X

    2021-01-01 00:06:48
    <div><p>该提问来源于开源项目:Slowpoke101/FTBLaunch</p></div>
  • 4.0.x Launcher启动过程

    2019-07-30 15:35:16
    <category android:name="android.intent.category.LAUNCHER" /> ,看了AndroidManifest.xml,发现里面实现了xml树根节点是Application类,application是直接配置应用的图标和应用名的。android程序的真正入口是...

      在Android中AndroidManifest.xml文件具体的描述了该应用的配置信息、全局属性,在启动应用时系统肯定是先读取该文件进行解析,查找程序的入口。一直以为android程序的入口是配置文件中指定的Activity:<action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />

    ,看了AndroidManifest.xml,发现里面实现了xml树根节点是Application类,application是直接配置应用的图标和应用名的。android程序的真正入口是Application类的onCreate方法。Application就是Activity,Service之类的组件上下文描述只不过大多数开发者无需重写该类。android.app.Application类包含了4个公有的方法

       void  onConfigurationChanged(Configuration newConfig)
       void  onCreate()  //这里才是真正的入口点。
       void  onLowMemory()
       void  onTerminate()

    使用application需要两个步骤:1.继承重写Application类相关方法2.在配置文件中配置。继承Application类来实现应用程序级的全局变量,这种全局变量方法相对静态类更有保障,直到应用的所有Activity全部被destory掉之后才会被释放掉。

    Launcher 的入口是LauncherApplication,AndroidManifest.xml中配置的属性:

     

    android:name="com.android.launcher2.LauncherApplication" -----类名
    android:label="@string/application_name"---------应用名称
    android:icon="@drawable/ic_launcher_home"----------应用程序管理器启动时看到的图标
    android:hardwareAccelerated="@bool/config_hardwareAccelerated"  ------------是否使用硬件加速,提高应用运行速度
    android:largeHeap="@bool/config_largeHeap" ----------设定launcher运行时最小堆内存,避免内存out of memory错误的出现。

    一、LauncherApplication----onCreate 应用入口

    1)获取屏幕的显示尺寸、密度全局变量。

    2)建立应用图标缓存器;创建LauncherModel 对象,在launcher数据变更时操作数据库。

    3)注册(Intent.ACTION_PACKAGE_ADDED Intent.ACTION_PACKAGE_REMOVED Intent.ACTION_PACKAGE_CHANGED)应用添加、删除、改变监听;LauncherModel提供接收器对上面3中事件进行监听。

    4)注册本地化配置变化监听,搜寻相关变化监听,外部存储上的应用变化监听。接收器同上

    5)注册对桌面favorites content provider 数据变化监听器,触发后执行onChang方法。

    二、Launcher Activity:实现了点击、长按、触屏、LauncherModel,AllAppViews接口。

      Launcher---onCreate,执行完Application初始化配置后进入该方法。

          1)获取LauncherApplication初始化全局变量、对象。创建DragController拖放控制对象、AppWidgetManager appwidget管理对象AppWidgetHost appwidget变化监听启动

       2)checkForLocaleChange();检查本地化配置

    setContentView(R.layout.launcher);     加载布局文件
    setupViews();                                    初始化空间,包括各种拖放相关的监听事件,Hotseat电话、消息快捷键初始化
    showFirstRunWorkspaceCling();          是否需要显示使用向导
    registerContentObservers();             注册appwidget改变监听 LauncherProvider.CONTENT_APPWIDGET_RESET_URI
    lockAllApps(); //nothing to do

     

      3)从Bundle savedInstanceState获取桌面持久化数据restoreState()

    更加State ,显示APPS 或workspage页面。

          4)mRestoring false,调用LauncherModel ----startLoader(this, true);启动LoaderTask线程开始装载数据(同步处理过程)。

      1.优先载入那个页面loadWorkspaceFirst = cbk != null ? (!cbk.isAllAppsVisible()) : true; 

      2.loadWorkspaceFirst == true. 载入workspace loadAndBindWorkspace()--->

    loadWorkspace();从数据库launcher.db中查询中所有桌面项构造对应类型的ItemInfo对象存入 ShortcutInfo,LauncherAppWidgetInfo,FolderInfo列表。

    --->// Bind the workspace  bindWorkspace()

    --->callbacks.startBinding();launcher中回调,清除workspace bind初始化

    --->回调callbacks.bindItems(workspaceItems, start, start+chunkSize);根据数据库获取的workspaceItems 列表添加appwidget shorcut类型item.异步调用,在主线程中handler

    --->callbacks.bindFolders(folders);添加folders 异步调用,在主线程中handler

    --->callbacks.bindAppWidget(widget);添加widget 异步调用,在主线程中handler

    三次回调中workspace.addInScreen 传入item添加到对应workspace screen

         3.loadWorkspaceFirst == false. loadAndBindAllApps()载入apps 列表。

      mAllAppsLoaded ==false,launcher启动后第一次载入。

    --->loadAllAppsByBatch() 

    launcher.bindAllApplications() 异步调用,.setApps(apps);

    分多个批次加载 launcher.bindAppsAdded() 主线程Handler 调用。 .setApps(apps);
      mAllAppsLoaded ==true,onlyBindAllApps() 可能由于本地化改变

    --->callbacks.bindAllApplications(list)主线程Handler 调用

    4.loadWorkspaceFirst == true 装载数据顺序

      (1)loadAndBindAllApps();                        
          (2)loadAndBindWorkspace();

    三、Launcher.onCreate 后半部分

    注册Intent.ACTION_CLOSE_SYSTEM_DIALOGS广播监听

    updateAppMarketIcon() 检查是否安装 android market

    初始化GlobalSearch。SearchDropTargetBar。

     

    -------------------------------------------------------------------

    重要方法LauncherModel.loadWorkspace(); workspace.addInScreen;

    转载于:https://www.cnblogs.com/sardine/archive/2012/05/02/2475884.html

    展开全文
  • <div><p><code>od</code> output format has trailing whitespace and is separated by two spaces in OS X....Tested in OS X rumprun launcher.</p><p>该提问来源于开源项目:rumpkernel/rumprun</p></div>
  • <div><p>I have Mac OS X 10.8.3 and the latest version of Java 7(Java 1.7.0_17). The launcher crashes when I try to open any mos pack with the following error: JavaVM FATAL: lookup of function JAWT_...
  • 而vertx-core提供了默认的io.vertx.core.Launcher实现。Vert.x 生命周期中的事件vertx-core包中存在一个interface,名为 VertxLifecycleHooks,可让启动器的子类在发生不同事件时得到通知。afterConfigParsed这是Vert....

    在使用Vert.x时,一般先从生命周期下手。而vertx-core提供了默认的io.vertx.core.Launcher实现。

    Vert.x 生命周期中的事件

    vertx-core包中存在一个interface,名为 VertxLifecycleHooks,可让启动器的子类在发生不同事件时得到通知。

    afterConfigParsed

    这是Vert.x启动前的钩子,在这个阶段,Vert.x的Options还可以被更新。入参config是通过命令行中的-conf传递进来的参数。

    void afterConfigParsed(JsonObject config);

    复制代码

    beforeStartingVertx

    与afterConfigParsed基本相同,参数也可以改变。入参为VertxOptions。

    void beforeStartingVertx(VertxOptions options);

    复制代码

    afterStartingVertx

    此时Vert.x的实例已经被创建。

    void afterStartingVertx(Vertx vertx);

    复制代码

    beforeDeployingVerticle

    Verticle被部署之前。

    void beforeDeployingVerticle(DeploymentOptions deploymentOptions);

    复制代码

    beforeStoppingVertx

    Vert.x实例被终止之前。

    void beforeStoppingVertx(Vertx vertx);

    复制代码

    afterStoppingVertx

    Vert.x实例被终止之后。

    void afterStoppingVertx();

    复制代码

    handleDeployFailed

    部署失败时。

    void handleDeployFailed(Vertx vertx, String mainVerticle, DeploymentOptions deploymentOptions,

    Throwable cause);

    复制代码

    Vert.x 中的 Launcher

    Launcher是 Vert.x 的启动器,实现了VertxLifecycleHooks,但是相关方法的实现大多是空的,我们可以自定义自己的Laucher针对每个事件阶段进行处理。

    /**

    * 部署失败时,此方法会被调用。您可以重写此方法来自定义行为。

    * 默认情况下,它关闭`vertx`实例。

    *

    * @param vertx             vert.x 实例

    * @param mainVerticle      verticle

    * @param deploymentOptions verticle 部署参数

    * @param cause             部署失败的原因

    */

    public void handleDeployFailed(Vertx vertx, String mainVerticle, DeploymentOptions deploymentOptions, Throwable cause) {

    // 如果部署失败,默认行为是关闭Vert.x

    vertx.close();

    }

    复制代码

    自定义 Launcher 举例

    /**

    * Description: 启动 Launcher .

    *

    * @author m-xy

    *     Created By 2020/4/2 12:14

    */

    public class MainLauncher extends Launcher {

    private final static Logger logger = LoggerFactory.getLogger(MainLauncher.class);

    public static void main(String[] args) {

    System.setProperty(LOGGER_DELEGATE_FACTORY_CLASS_NAME, SLF4JLogDelegateFactory.class.getName());

    new MainLauncher().dispatch(args);

    }

    /**

    * 启动前准备阶段.

    *

    * @param options 参数

    */

    @Override

    public void beforeStartingVertx(VertxOptions options) {

    logger.info("[Vert.x] Vert.x Options Ready");

    options.setPreferNativeTransport(true);

    super.beforeStartingVertx(options);

    }

    /**

    * Vert.x启动完成阶段.

    *

    * @param vertx

    */

    @Override

    public void afterStartingVertx(Vertx vertx) {

    logger.info("[Vert.x] Starting Vert.x (JVM running for you)");

    super.afterStartingVertx(vertx);

    }

    /**

    * Vert.x停止阶段.

    */

    @Override

    public void afterStoppingVertx() {

    logger.info("[Vert.x] Stopping Vert.x (JVM running for you)");

    super.afterStoppingVertx();

    }

    /**

    * 部署失败时,此方法会被调用。您可以重写此方法来自定义行为。

    * 默认情况下,它关闭`vertx`实例。

    *

    * @param vertx             vert.x 实例

    * @param mainVerticle      verticle

    * @param deploymentOptions verticle 部署参数

    * @param cause             部署失败的原因

    */

    @Override

    public void handleDeployFailed(

    Vertx vertx, String mainVerticle, DeploymentOptions deploymentOptions, Throwable cause) {

    logger.error("[Vert.x] Start Vert.x Failed", cause);

    super.handleDeployFailed(vertx, mainVerticle, deploymentOptions, cause);

    }

    }

    复制代码

    展开全文
  • </li><li>pip version: any</li><li>Python version: any</li><li>tox version: any</li></ul> <p><strong>Description</strong></p> <p>OSX's system python seems to define the infamous <code>__PYVENV_...
  • SuperTux launcher

    2020-12-05 18:46:58
    <ul><li>[X] The CMakeLists.txt adaptation, the creation of a new executable, and the folder for the launcher</li><li>[x] Setup a window with decoration</li><li>[ ] Setup widget management</li><li>[ ] ...
  • My launcher crashes when I am trying to install either A or the B mod pack.. It looks like it is crashing when it is extracting the files... It crashes so quickly so i can't copy the crash/...
  • The relevant changes are in <code>DefaultLauncher</code> which is contained in the <code>junit-platform-launcher</code> artifact. Since most build tools and IDEs bundle that artifact we need to reach...
  • 一、android7.x Launcher3源码解析(1)—启动流程 二、android7.x Launcher3源码解析(2)—框架结构上一篇粗略的讲了下Launcher的启动流程,主要是讲了如何启动到Launcher的,Launcher启动后的那些流程,打算讲完...

    Launcher系列目录:
    一、android7.x Launcher3源码解析(1)—启动流程
    二、android7.x Launcher3源码解析(2)—框架结构
    三、android7.x Launcher3源码解析(3)—workspace和allapps加载流程


    上一篇粗略的讲了下Launcher的启动流程,主要是讲了如何启动到Launcher的,Launcher启动后的那些流程,打算讲完这篇博客后再讲。

    一、Launcher结构

    首先,我们来看下Launcher的布局xml结构

    这里写图片描述

    DragLayer的本质是一个FrameLayout,那这些xml文件主要都是负责那些界面呢?下面,我用android模拟器打开了个原生的7.1系统,给大家演示下。

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    Launcher的结构大体都在这里了,图文结合,应该能很快定位到点。


    这一篇写的比较简单,主要是介绍下Launcher的框架结构,下一篇具体讲一下workspace和allapps的加载流程。

    展开全文
  • Launcher killed

    2020-12-26 05:38:53
    <div><p>The launcher is crashing immediately after patching every time I start it. I noticed in the logs that a copy of the launcher was added to <code>/tmp/launcher_update_temp, so I tried running ...
  • [V3 Launcher] add launcher

    2020-11-29 15:27:02
    <ul><li>[ ] Bugfix</li><li>[ ] Enhancement</li><li>[x] New feature</li></ul> <h3>Description of the changes <p>Supersedes #1006 <p>Current summary of what the launcher has: <ul><li>Running Red (with ...
  • 4.0.x Launcher UI界绍

    千次阅读 2014-03-11 22:17:54
    Launcher所有交互界面的切换都是在Launcher.java这个Activity完成,对应UI架构的布局文件launcher.xml,包含交互显示的各种元素。同时可以使用 hierarchyviewer布局查看工具了解不同状态下的布局结构。 (4.0.3源码...
  • Elyra launcher

    2020-12-30 15:21:23
    - [x] Make this the default Launcher when Elyra is installed - [x] Change the Elyra section logo to be project logo <p><img alt="image" src=...
  • Mac Launcher

    2009-07-22 09:34:15
    Mac OS X Doc Launcher Simulator The Dock is feature of the GUI of Apple's Mac OS X operating system, which is used to launch applications, and switch between running applications. "McLauncher" is a...
  • <p>When trying to run <code>es4x-launcher, it complains that it cannot find a relative file to root, even though the compiled files are in another directory. <p>If I move the files as-is, out to the ...
  • Collecting launcher

    2021-01-11 04:24:38
    <p>The TestCollection allows users of Launcher to review the test plan, do additional filtering, and execute the tests, without going through a potentially expensive discovery stage more than once. ...
  • <div><p>Launcher version: 1.4.27V0 Java version: 1.8.0_131 Attempt to run the client causes the following exception: <code>java.lang.NoSuchMethodError: org.apache.batik.dom.util.HashTableStack.put...
  • 修改Launcher2/res/value/Dimens.xml 中apps_customize_cell_width 和apps_customize_cell_height的大小。多大的值合适,需要结合代码。   PagedViewCellLayout 中estimateCellHSpan和estimateCellVSpan获取...
  • Launcher是安卓系统中的桌面启动器,安卓系统的桌面UI统称为LauncherLauncher是安卓系统中的主要程序组件之一,安卓系统中如果没有Launcher就无法启动安卓桌面,Launcher出错的时候,安卓系统会出现“进程 ...
  • Launcher系列目录: 一、android7.x Launcher3源码解析(1)—启动流程 二、android7.x Launcher3源码解析(2)—框架结构 三、android7.x Launcher3源码解析(3)—workspace和allapps加载流程
  • <div><p>On OS X using 1.7, I get this when attempting to run field: <pre><code> bash $ ./Contents/MacOS/field_mac64.sh /Volumes/UserDrive/Users/slippyd/Development/uncat/Field/Field.app/Contents/MacOS...
  • 一、android7.x Launcher3源代码解析(1)—启动流程 二、android7.x Launcher3源代码解析(2)—框架结构 三、android7.x Launcher3源代码解析(3)—workspace和allapps载入流程 前两篇博客分别对Lancher的启动...
  • App Launcher component

    2020-12-26 03:46:38
    - [x] The App Launcher (aka App Launcher modal) should be shown when the App Launcher icon (aka Waffle) is clicked. - [x] See ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,040
精华内容 1,616
关键字:

launcherx