Android Launcher分析和修改5——HotSeat分析

本文主要分析Android Launcher中的HotSeat组件,包括配置文件的修改以适应不同屏幕方向,HotSeat的构造函数,加载数据的过程,以及如何在平板等大屏幕上实现HotSeat。HotSeat的加载和绑定数据与workspace类似,且大部分配置可通过XML文件完成。
摘要由CSDN通过智能技术生成
               

今天主要是分析一下Launcher里面的快捷方式导航条——HotSeat,一般我们使用手机底下都会有这个导航条,但是如果4.0的Launcher放到平板电脑里面运行,默认是没有HotSeat的,刚好我这里的运行环境类似平板,系统默认把HotSeat去掉了。办法,只能自己想办法把它弄出来,所以今天主要是分析如何在你Launcher上添加HotSeat以及分析HotSeat实现。

 

Hotseat配置是通过配置文件控制的,一般来说,你需不需要Hotseat只要在配件文件里面写一下就OK,不过Hotseat有一个比较麻烦的地方,就是需要注意横屏还是竖屏。默认竖屏的时候,Hotseat是屏幕底下的,横屏的时候,在屏幕右边。不知道google当时为啥要这样设计,可能是为了横屏的时候,不占用本来就不多的竖向的空间吧。不过这个设计对于一些横屏的平板电脑或者移动设备,用户体验实在不太好。

 

 

 

1、Hotseat配置文件

 

下面我们看看Hotseat的配置文件,Hotseat是属于workspace的,所以需要在workspace配置文件里面配置,打开launcher.xml就可以看到hotseat的配置,这个并不是所有launcher.xml文件都有hotseat属性。例如:layout-sw600dp文件夹下的launcher.xml就是默认没有hotseat配置,这个使用在大屏幕,平板之类的设置上。而我的设备刚好是使用这个配置。

 

所以把hotseat加到layout-sw600dp下的launcher.xml配置文件:

 
  
    <!-- WorkSpace最下面的五个快捷位置  mythou-->    <include layout="@layout/hotseat"        android:id="@+id/hotseat"        android:layout_width="match_parent"        android:layout_height="@dimen/button_bar_height_plus_padding"        android:layout_gravity="bottom" />
 
 

注意,我这里是使用了竖屏时的hotseat配置,因为我希望hotseat是放到屏幕下方。所以android:layout_gravity=

 

"bottom"也是配置为bottom。hotseat默认是有5个按钮,其中中间一个是进入AllApp列表的按钮,这个是程序里面设置

 

(下面会说到)。其他的默认按钮需要在default_workspace.xml里面配置。

 

 

 
  
    <!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
  <!-- 使用screen作为按钮位置标识-->
    <favorite        launcher:packageName="com.example.naviback"        launcher:className="com.example.naviback.MainActivity"        launcher:container="-101"        launcher:screen="0"        launcher:x="0"        launcher:y="0" />    <favorite        launcher:packageName="com.csr.dvd"        launcher:className="com.csr.dvd.LoadDVD"        launcher:container="-101"        launcher:screen="1"        launcher:x="1"        launcher:y="0" />    <favorite        launcher:packageName="com.apical.apicalradio"        launcher:className="com.apical.apicalradio.RadioMainActivity"        launcher:container="-101"        launcher:screen="3"        launcher:x="3" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值