编程知识 购物 网址 新闻 笑话 | 软件 日历 阅读 图书馆 China 头条阅读 学淘股 China Travel
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
   -> Android开发 -> Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】 -> 正文阅读

[Android开发]Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】

最近研究Lancher,从短信Mms的框架中过度到Launcher的bug和需求修改中,下面对launcher最简单的主屏幕程序的程序的布局的详 解,给读者一个入门的感觉,android的主屏幕一共分为5个屏幕,从左到右依次是:0,1,2,3,4。所以想在那个主屏幕放哪些程序或者 widget都可以在布局文件中实现,下面我就说说这个布局文件default_workspace.xml。这是对主屏幕进行排列的布局文件,在这里面 写好,程序运行后就可以实现哪个屏幕放那些特定的程序或widget了。下面先看截图,分别为图(1)和图(2)。图(1)为3屏即为主屏的布局,最下面 放了4个程序的快捷方式。图(2)为我粗糙地画了一个大概的一个面貌,屏幕一般被分为2维坐标的,左上角为原点(0,0),横向的为x轴(坐标向右依次加 1,分别是0,1,2,3),竖向的为y轴(向下依次加1,分别是0,1,2,3)。先看截图,下面看布局文件中的代码:
                             
                                          
                                    图(1)                                                                                                


 图(2)
下面看布局文件中的代码:               
Java代码  

<?xml version="1.0" encoding="utf-8"?>   <!-- Copyright (C) 2009 The Android Open Source Project           Licensed under the Apache License, Version 2.0 (the "License");        you may not use this file except in compliance with the License.        You may obtain a copy of the License at                http://www.apache.org/licenses/LICENSE-2.0           Unless required by applicable law or agreed to in writing, software        distributed under the License is distributed on an "AS IS" BASIS,        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.        See the License for the specific language governing permissions and        limitations under the License.   -->         <favorites xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher">       <!--  Far-left screen [0] -->          <!--  Left screen [1] -->       <appwidget           launcher:packageName="com.google.android.apps.genie.geniewidget"           launcher:className="com.google.android.apps.genie.geniewidget.miniwidget.MiniWidgetProvider"           launcher:screen="1"           launcher:x="0"           launcher:y="0"           launcher:spanX="4"           launcher:spanY="1" />                  <!--  Middle screen [2] -->       <search           launcher:screen="2"           launcher:x="0"           launcher:y="0" />          <appwidget           launcher:packageName="com.android.protips"           launcher:className="com.android.protips.ProtipWidget"           launcher:screen="2"           launcher:x="0"           launcher:y="1"           launcher:spanX="4"           launcher:spanY="1" />       <favorite           launcher:packageName="com.android.Mms"           launcher:className="com.android.Mms.MainActivity"           launcher:screen="2"           launcher:x="0"           launcher:y="3"       />       <favorite           launcher:packageName="com.android.phone"           launcher:className="com.android.phone.MainActivity"           launcher:screen="2"           launcher:x="1"           launcher:y="3"       />       <favorite           launcher:packageName="com.android.Email"           launcher:className="com.android.Email.MainActivity"           launcher:screen="2"           launcher:x="2"           launcher:y="3"       />       <favorite           launcher:packageName="com.android.yuemei"           launcher:className="com.android.yuemei.MainActivity"           launcher:screen="2"           launcher:x="3"           launcher:y="3"       />       <!--  Right screen [3] -->       <appwidget           launcher:packageName="com.android.music"           launcher:className="com.android.music.MediaAppWidgetProvider"           launcher:screen="3"           launcher:x="0"           launcher:y="0"           launcher:spanX="4"           launcher:spanY="1" />          <appwidget           launcher:packageName="com.android.vending"           launcher:className="com.android.vending.MarketWidgetProvider"           launcher:screen="3"           launcher:x="1"           launcher:y="1"           launcher:spanX="2"           launcher:spanY="2" />          <!--  Far-right screen [4] -->      </favorites>  
      标签讲解:
             <appwidget>为添加相应的widget;
             <search>为添加google搜索框;
             <favorite>为添加程序的快捷方式;
      属性讲解:
              launcher:packageName="com.android.vending "  程序的包的名字。
              launcher:className="com.android.vending.MarketWidgetProvider"  程序入口类的名字。
              launcher:screen="3" 表示在屏幕的位置,从左向右依次为:0,1,2,3,4.共5屏,第2屏为主屏幕。
              launcher:x="1" 在X轴的位置,如图(2)所画。向右依次增加,分别为0,1,2,3.共4个。
              launcher:y="1" 在Y轴的位置,如图(2)所画。向下依次增加,分别为0,1,2,3.共4个。
              launcher:spanX="4" 在X轴上占的格数。"4"代表占4格。
              launcher:spanY="2" 在Y轴上占的格数,"2"代表占2格。
     编译说明:
            (1)先build完成;有问题可以参考Android在Linux下编译源码【安卓进化二十八】;
            (2)在mm完成后,push到手机中:
                         adb  push   ../../out/target/product/n80w/system/app/Launcher.apk   system/app/
            (3)进入烧录手机的红屏幕界面。开机键和音量减小的键一起按。
            (4)用root权限进入../out/host/linux_x86/bin/目录下,输入命令:
                     #./fastboot  -w     清除 userdata 和 cache 。目的:确保得到你想要的效果!
            (5)最后重启手机即可:或者输入命令:./fastboot  reboot
                                                        或者干脆点扣电池重启。事先声明:此招为大明习惯,操作过程中手机出现任何问题,本人概不负责。             
             这样五步骤就得到了你想要的效果了。
  Android开发 最新文章
Android动态权限申请
使用Kotlin,抛弃findViewById
.net程序员做的第一个安卓APP
Android学习笔记
计算机毕业设计源码分享
计算机毕业设计源码分享
ELF Format 笔记(一)—— 概述
Fragment学习笔记
Android复制Assets目录下的文件到指定目录
Android网络请求框架AsyncHttpClient实例详
上一篇文章      下一篇文章      查看所有文章
加:2015-03-30 07:50:33  更:2017-05-16 20:33:14 
 
360图书馆 软件开发资料 购物精选 新闻资讯 Chinese Culture 三丰软件 开发 中国文化 阅读网 头条阅读 学淘股 China Travel 日历 万年历 2020年7日历
2020-7-6 15:58:58
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程知识